アカウント名:
パスワード:
十数年仕事で(アマ時代を入れると20年以上)使っていたのに知らなかったので数日はまった。
バグったコードからエラー原因を簡素化したテストコードは以下。float型(i)とint型(k)で1ずつ加算していって異なったら標準エラーに出力。
#include <stdio.h>int main(){ float i; int k; i=0; for(k=0;k<=16777217;k++){ if(k != (int)i) fprintf(stderr,"%i %i\n",k,(int)i); i += 1; } return 0;}
新人さんが入ってきたら、浮動小数点型を計算で使用する場合の注意喚起はしてます。次の一行の実行結果を見せたら大人しく説明を聞いてくれるので、教えやすさという意味では楽。
System.out.println(1.00-9*.10);
予想 : 0.10現実 : 0.09999999999999998
予想 : 0.10
System.out.println() に浮動小数点の引数与えて 0.10 を出力させることってそもそも可能?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
floatで整数を数えあげちゃいけない@C言語 (スコア:1)
十数年仕事で(アマ時代を入れると20年以上)使っていたのに知らなかったので数日はまった。
バグったコードからエラー原因を簡素化したテストコードは以下。
float型(i)とint型(k)で1ずつ加算していって異なったら
標準エラーに出力。
floatの計算を信用しちゃいけない@Java (スコア:0)
新人さんが入ってきたら、浮動小数点型を計算で使用する場合の注意喚起はしてます。
次の一行の実行結果を見せたら大人しく説明を聞いてくれるので、教えやすさという意味では楽。
System.out.println(1.00-9*.10);
予想 : 0.10
現実 : 0.09999999999999998
Re: (スコア:0)
予想 : 0.10
System.out.println() に浮動小数点の引数与えて 0.10 を出力させることってそもそも可能?