四舍五入双变量

时间:2018-12-05 06:38:54

标签: c# math double rounding

我有以下问题。当我尝试从“双精度”类型四舍五入一个数字时,它没有按我期望的那样工作。

考虑以下代码:

double d = 0.00498;
Console.WriteLine(Math.Round(d, 2)); // prints 0

我得到的结果是错误的。

该程序必须打印0.01,并且我已经尝试了所有操作,但没有任何正常工作。

3 个答案:

答案 0 :(得分:3)

我认为您需要第二次迭代才能获得所需的结果

double d = 0.00498;
double result1 = Math.Round(d, 3, MidpointRounding.AwayFromZero);
double result2 = Math.Round(result1 , 2, MidpointRounding.AwayFromZero);
Console.WriteLine(result2);

因为0.00498的结果是0.005而不是0.01

答案 1 :(得分:0)

您希望将数字四舍五入为两位小数点。

Math.Ceiling(d * 100) / 100

答案 2 :(得分:0)

结果正确。您可以在excel应用程序中尝试。

enter image description here

关于, Nandkumar S。