Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
value = 2.05 の float フィールドを取得しました。field*1000 を実行すると、結果は 2049.999952316284 になります。結果が 2050.0 でないのはなぜですか? .
ありがとう
おそらく、フィールドが2.05としてではなく、2.04999として格納されているためです。フィールドの解像度を上げる、つまり2.0500として保存するとどうなりますか?
この問題は、コンピューターがいくつかの実数を正確に格納できないことが原因です。
ちなみに、値が通貨値であると想定される場合は、数値(12,2)として格納してください。そうすれば、浮動小数点エラーは発生しません。