【问题标题】:Very strange "fake numbers" in terminal终端中非常奇怪的“假号码”
【发布时间】:2013-01-16 01:37:41
【问题描述】:

我知道图像通常不是这样做的方式,但我有一个非常奇怪的.. 错误.. 看起来更像是一个 hack。

我在这里有一张显示代码和输出的图片,因为这是我可以显示正在发生的事情的唯一方法。不知何故,我设法输入了看起来像数字但行为不像数字的数字。他们的文字比实数更方正,这是我能找到的唯一区别。这有点吓到我了……我感觉自己被人控制了。

请告诉我这是一个简单的错误造成了这些数字冒名顶替。

图片链接: http://i.stack.imgur.com/grZiu.png

【问题讨论】:

  • 您指的是哪些数字?
  • 可能它们是一些奇怪的 Unicode 块中提供的其他数字,atof 无法识别它们(实际上,我怀疑atof 甚至可以识别 UTF-8)。您是如何创建它们的?
  • 直接将文本复制并粘贴到您的问题中,而不是发布文本图像。文本图像不容易解析、重用或访问。
  • @AndrewMarshall:很可能通过复制粘贴文本,我们实际上可以诊断问题。
  • 可能每个数字的第一个数字从数字1变成了字母l

标签: c numbers numeric


【解决方案1】:

如果无法执行有效转换,则函数返回零 (0.0)。

来源 - atof

这似乎是出于某种原因..

如链接所示,您可能想尝试使用strtod


看起来1s 似乎被@aschepler 建议的ls 替换了

【讨论】:

  • 不,问题是那些返回 0.0 的数字不是实数。如果你仔细观察,它们有不同的字体。我不知道我是如何制作它们的,这就是问题所在。而把标题改成“AtoF is broken”的人完全误解了这个问题。
  • @Thumbz 啊,好吧,那更清楚了,也许 aschepler 正在做点什么,1 -> l
  • 是的,我刚刚试了一下,它似乎是一个“l”。但是,我不明白它是如何发生的。 L 在另一只手下,在不同的手指下,我什至会用一只手。我能想到的最好的办法是我不知何故在我的头上换了手,用右环而不是左环击中,但是......我不知道。如果这是一个巨魔,这是一个该死的好。令人难以置信的令人困惑的错误,让我看起来像个混蛋,如此简单令人恐惧。
  • @Thumbz:我刚刚回滚了对标题的修改。
猜你喜欢
  • 1970-01-01
  • 2012-08-27
  • 1970-01-01
  • 2014-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多