首页 > 解决方案 > 为什么 Math.Round() 没有像我在 C# 中所期望的那样产生结果

问题描述

为什么 Math.Round(1.444445M, 2, MidpointRounding.AwayFromZero) 返回 1.44 而不是 1.45?

标签: c#rounding

解决方案


因为这就是四舍五入的工作方式。

就像@Sweeper 所说,更1.444445接近于.1.441.45

在此处输入图像描述

  1. 你拿一个号码1.444445
  2. 现在您要将其四舍五入到小数点后 2 位,因此请选择点后的 2 位数字:1.[44]4445
  3. 然后看后面的下一个数字[44]4也是
  4. 4 < 5,因此不应应用四舍五入。编辑:我的意思是它会保持不变 [44],其余的数字当然会归零

推荐阅读