c#で以下のコードを実行すると、きたいしているあたいは6.4なのですが、6.39999…と表示されてしまいます。
原因がわかる方解説いただきたいです
C#
1 2static void Main(string[] args) 3 { 4 double a = 4.1; 5 double b = 2.3; 6 double sum; 7 sum = a + b; 8 Console.WriteLine(sum); 9 } 10
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12247443747
以下ご対応ください。
https://teratail.com/help#posted-otherservice
浮動小数点と誤差について調べてみましょう
浮動小数点ではマルメの誤差がでるのは避けられないということはご存じですか? ググってみてください。以下のような記事がヒットするはず。
浮動小数点数型と誤差
https://www.cc.kyoto-su.ac.jp/~yamada/programming/float.html
プログラムによる小数点以下の計算で誤差が生じる原因と対処法2選
https://cyzennt.co.jp/blog/2019/08/10/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AB%E3%82%88%E3%82%8B%E5%B0%8F%E6%95%B0%E7%82%B9%E4%BB%A5%E4%B8%8B%E3%81%AE%E8%A8%88%E7%AE%97%E3%81%A7%E8%AA%A4%E5%B7%AE%E3%81%8C%E7%94%9F%E3%81%98/
doubleは近似値を扱うもの
10進数の少数を扱えるのはdecimal
皆さんありがとうございます!
浮動小数点…聞いたことはありますが詳しくは知りませんでした。勉強し直します
…この場合BAはどうすれば…
ご自分で回答欄に「浮動小数点数型と誤差について勉強します」とか書いてそれで解決・クローズしていただくようお願いします。
マルチポストについて対応しろと言われてるのになぜ対応しないんだ?
マルチポスト…すいませんそれについても勉強します!
いや勉強しますじゃなくて今すぐリンク先読んで対応しろよ。
中学生でもわかることしか書いてないから。
回答1件
あなたの回答
tips
プレビュー