ふらっとC#,C♯,C#(初心者用) Part87at TECHふらっとC#,C♯,C#(初心者用) Part87 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト680:デフォルトの名無しさん 12/03/14 21:44:31.58 浮動小数点数ってのはそんなもの 681:デフォルトの名無しさん 12/03/14 21:44:36.63 訂正。 なんで 0.29000000000000004 になってしまうのか教えてください。 int a = 1; double b = 0.71; double c = (double)a - b; //デバグで見ると c が 0.29000000000000004 になっている //ちなみに Debug.WriteLine("c = "+c); //で表示させると 0.29 VisualStudio2005ですが 2008や 2010(?)でも 同様の現象になるのかも知りたいです。 682:デフォルトの名無しさん 12/03/14 21:44:59.72 そういうもの 嫌ならdecimal使え 683:デフォルトの名無しさん 12/03/14 21:46:28.18 >>681 たぶんIEEEで決めた浮動小数点にしたがって計算するのは ほぼ同じような計算誤差になると思うので気にしない方がいい 684:デフォルトの名無しさん 12/03/14 21:48:55.82 ちなみになんで0.29になるかというと Double.ToStringは暗黙にGの数値書式指定を使用するが DoubleにGを使って精度指定を省略すると下15桁までになる …4はもっと小さいから切り捨てられる 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch