3

我正在使用 Lua 将数字打印到文件中,有时会显示 -1.#IO 而不是数字。这是什么意思?

有问题的代码在以下要点中。

https://gist.github.com/Nelarius/6247636

令人讨厌的数字在最底部:meanPrice。包含的值存储在商品表中,商品表稍后会将值记录到文件中。

4

2 回答 2

6

在 Windows 上,浮点数的输出1.#INF为正无穷大和-1.#INF负无穷大。浮点不定数是-1.#IND。但是没有类似的表示-1.#IO

最可能的原因是,您输出的数字具有固定的 3 位小数部分。并为小数点后3位..#INF.#IND四舍五入.#IO

print(-1/0)
print(0/0)
print((string.format("%.3f", -1/0)))
print((string.format("%.3f", 0/0)))

在 Windows 上,输出为:

-1.#INF
-1.#IND
-1.#IO
-1.#IO
于 2014-02-25T06:22:51.040 回答
5

正如评论者所说,这是一个无效的数字。它应该只在 Windows 上显示为这样。

请参阅下面的链接。

请注意,链接指的是 (-)1.#IND 代表 NaN 和 (-)1.#INF 代表无穷大,我也得到了。我会对您为生成#IO 所做的工作感兴趣。

IEEE 浮点异常

于 2013-08-15T17:20:17.197 回答