其他分享
首页 > 其他分享> > 有没有办法总是向下舍入.5而不是使用Math.Round向上舍入?

有没有办法总是向下舍入.5而不是使用Math.Round向上舍入?

作者:互联网

我正在试验Math.Round类,但在使其执行我想做的事情时遇到了问题.基本上我有以下代码:

double test = 1.675;
double rounded = (double)Math.Round((decimal)test, 2, MidpointRounding.ToEven);
Console.Write(rounded);
Console.ReadKey();

我想四舍五入为1.67,其中1.675四舍五入为1.67.相反,我当前的输出是:

1.68

我以为MidpointRounding.ToEven强制将其舍入到最接近的偶数(.005-> .000)?

解决方法:

  double test = 1.675;
  double rounded = Math.Floor(test * 100) / 100;
  Console.WriteLine(rounded);

这将满足您的要求.还有什么更具体的吗?

标签:rounding,c,math
来源: https://codeday.me/bug/20191122/2056394.html