如何将一个数字四舍五入到2位小数

本文关键字:四舍五入 数字 2位 小数 一个 | 更新日期: 2023-09-27 18:28:57

我正在尝试使用C#对数字进行四舍五入,这样它总是四舍五进到下一个数字。例如:

0.409 -> 0.41
0.401 -> 0.41
0.414 -> 0.42
0.499 -> 0.50
0.433 -> 0.44

有没有一种方法可以使用.NET内置函数来实现这一点?

如何将一个数字四舍五入到2位小数

可以使用

Math.Ceiling

Math.Ceiling四舍五入到最近的整数,所以我建议你也做一些除法/乘法:

var notRounded = 0.409;
var rounded = Math.Ceiling(notRounded * 100) / 100;

说明:notRounded*100会给你40.9Math.Ceiling会返回41,所以再次将其除以以"恢复"到原始的十进制形式:0.41.

一种方法是Math.Ceiling,如前所述。

另一种选择是计算余数,并将差值相加以取整:

decimal r = 0.409M;
decimal d = r % .01M > 0 ? (r + .01M - r % .01M) : r;