3

Lua で数値をファイルに出力していますが、数値の代わりに -1.#IO が表示されることがあります。どういう意味ですか?

問題のあるコードは、次の要点にあります。

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

そして問題の数値は一番下にあります: meanPrice. 含まれている値は Commodity テーブルに保存され、後で Commodity テーブルが値をファイルに記録します。

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 のみです。

以下のリンクを参照してください。

リンクは、NaNの場合は(-)1.#IND、無限の場合は(-)1.#INFを参照していることに注意してください。#IO を生成するためにあなたが何をしているのかに興味があります。

IEEE 浮動小数点の例外

于 2013-08-15T17:20:17.197 に答える