我想用数学来做。圆的函数


当前回答

下面是一些例子:

decimal a = 1.994444M;

Math.Round(a, 2); //returns 1.99

decimal b = 1.995555M;

Math.Round(b, 2); //returns 2.00

你可能还想看看银行家的四舍五入/四舍五入到偶数与以下过载:

Math.Round(a, 2, MidpointRounding.ToEven);

这里有更多的信息。

其他回答

就我个人而言,我从来没有四舍五入过。让它尽可能坚定,因为舍入在CS中是一个转移注意力的东西。但您确实希望为用户格式化数据,为此,我发现string.Format("{0:0.00}", number)是一种很好的方法。

如果你想要一根绳子

> (1.7289).ToString("#.##")
"1.73"

或者小数

> Math.Round((Decimal)x, 2)
1.73m

但请记住!舍入不是分配的。圆(x*y) !=圆(x) *圆(y)。所以在计算结束之前不要做任何舍入运算,否则会失去精度。

试试这个:

twoDec = Math.Round(val, 2)

字符串a = "10.65678";

decimal d = Math.Round(Convert.ToDouble(a.ToString()),2)

下面是一些例子:

decimal a = 1.994444M;

Math.Round(a, 2); //returns 1.99

decimal b = 1.995555M;

Math.Round(b, 2); //returns 2.00

你可能还想看看银行家的四舍五入/四舍五入到偶数与以下过载:

Math.Round(a, 2, MidpointRounding.ToEven);

这里有更多的信息。