エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
【C#】Math.Round()が四捨五入にならない!
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
【C#】Math.Round()が四捨五入にならない!
四捨五入した結果が欲しいのに、なぜかうまく計算されずハマってしまった。 調べてみるとMath.Round()は... 四捨五入した結果が欲しいのに、なぜかうまく計算されずハマってしまった。 調べてみるとMath.Round()は、四捨五入ではなく近似値を表示するようだ。 といっても実際のところMath.Round()が原因というよりは、double型の誤差が原因だった。 Round.Math(double) 以下のコードは、double型の変数に0.1ずつ足して、Math.Round()の結果を表示している。 double num1 = 11.1; for (int i = 0; i < 9; i++) { Console.WriteLine("{0} -> {1}", num1, Math.Round(num1)); num1 += 0.1; } この場合、以下の様な結果になる。 11.1 –> 11 11.2 –> 11 11.3 –> 11 11.4 –> 11 11.5 –> 11 11.6 –>