如何获取Dart中的上舍入或下舍入数?

时间:2019-03-16 01:15:43

标签: dart

我希望所有数字都为true

 if (overs == 0.6) {
  overs = 1.0;
 }

我希望例如达到1.6,则应将其转换为2。我希望所有数字都为真。

进一步说明:例如,我不希望它四舍五入。 0.5,我希望它在0.6处取整。

2 个答案:

答案 0 :(得分:0)

进一步的解释是,Dart为您提供round()floor()方法,其中根据文档:

  

myscript.php?ac_id=2&first_name=Fred&last_name=Flintstone

     

返回不大于此值的最大整数。

     

如果这不是有限的(NaN或无穷大),则抛出UnsupportedError。


  

floor()

     

返回最接近该整数的整数。

     

如果没有最接近的整数,则从零开始舍入:(3.5).round()== 4和(-3.5).round()== -4。   如果这不是有限的(NaN或无穷大),则抛出UnsupportedError。

因此,基本上,您不需要所有的工作即可获得想要的东西。如果您有一个round()或以上的数字并使用0.5,则会得到下一个更大的整数。

round()

如果您想降低数值,只需使用int foo = 10.6.round(); // foo will be 11. int foo = 10.5.round(); // foo will be 11. int foo = 10.4.round(); // foo will be 10. 即可,无论它是floor()还是1.1,您总是会得到1.9

1

答案 1 :(得分:-1)

知道了!

if ((overs - overs.floor()) > 0.5) {
      overs = overs - (overs - overs.floor()) + 1;
    }