数学底数结果不一致

时间:2018-08-05 05:59:06

标签: c# floor

我对C#中Math.Floor函数的结果感到有些困惑。

通过下面的通话,我得到了91的预期回报:

Math.Floor(91.0);

但是如果我使用下面的调用,我将获得90的返回值,而在这种情况下我仍然希望91。

Math.Floor(9.1/0.1);

这仅仅是由于较小的舍入误差,有没有办法获得一致的结果?

1 个答案:

答案 0 :(得分:0)

是的,此问题与精度有关,因为Math.Floor()不能在数学上四舍五入,而总是向下取整。因此,即使90.9999999仍然只产生90

要获得精确的舍入,请改用Math.Round()或在传递的值上加上0.5