Top > プログラミング > .NET Tips> 小数点を切り捨て、切り上げ、四捨五入する

小数点を切り捨て、切り上げ、四捨五入する」への評価、コメント

評価

良い / 悪い = 54 / 3 (「良い」の割合 = 0.947 , 人気度 = 1.663

評価する

コメント一覧


通常のコメント
匿名 2021/02/10 (Wed) 12:11:59
1.23E-05の値をRoundすると、例外が出ているのでお願いいたします。
Math.Round(1.23E-05,2,MidpointRounding.AwayFromZero)

通常のコメント
Amino 2020/07/15 (Wed) 09:51:02
C言語では(int)でキャストすると負の無限大方向への切り捨てだったので
C#でも同じだと思っていましたが、今違うことを発見してこのページにたどりつきました。

ところで他のコメントで実数の例を挙げて挙動が違うとありますが
floatやdoubleでは、そもそもその値を正確に保持できないのでそうなってもおかしくない。
decimal型で確認した方が良いですよ

通常のコメント
匿名 2019/07/3 (Wed) 11:15:08
MidpointRounding.AwayFromZeroを使用しても
double型の場合、0.15は0.2
float型の場合、0.15は0.1
になりますので注意が必要です。

通常のコメント
U字工事 2019/03/13 (Wed) 14:15:16
0.20475 を小数第5位で四捨五入して
0.2048 とするのは難しいです。

MidpointRounding.AwayFromZero を使用しても
0.2047 となってしまいます。

通常のコメント
匿名 2013/01/8 (Tue) 15:20:54
Math.Floor(16.65)をするとなぜか16.64になります。
類似があるかどうかは不明です。

評価の理由
匿名 2012/12/27 (Thu) 11:25:46
評価:良い
いつもありがとうございます。

通常のコメント
L 2011/06/14 (Tue) 15:03:45
いつもありがとうございます。たいへん参考になりました。

通常のコメント
管理人 2011/03/11 (Fri) 00:32:23
> "まとめ"の表、Math.Ceiling(2.8)が"2"になっていますが正解は"3"だと思います

修正しておきます。ご報告ありがとうございました。

通常のコメント
匿名 2011/03/10 (Thu) 13:41:40
"まとめ"の表、Math.Ceiling(2.8)が"2"になっていますが正解は"3"だと思います

コメントの投稿

[説明]