アプリ版:「スタンプのみでお礼する」機能のリリースについて

static doubleで配列を作り
0.3454703165とセットして
宣言しました。

しかし、実行してウォッチで見ると
0.345470316499999になってしまいます。

なぜでしょうか?

A 回答 (1件)

floatでもdoubleでも内部では2進数で数値を表しています。


例として小数点以下は
0.1(2進)・・0.5
0.01・・・・・0.25
0.001・・・・0.125
このやり方で10進数→2進数→10進数とやると必ず元に戻るとは限りません。
2進数の桁数の限界による変換誤差ですね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!