我想知道如何指示 Java 始终舍入给定的数字。
例如:
1.08 rounds to 1
1.88 rounds to 1
1.999999999999 rounds to 1
0.0002 rounds to 0
123.77 rounds to 123
有什么建议么?
提前致谢!:)
Math#floor
这就是:
返回小于或等于参数且等于数学整数的最大(最接近正无穷大)双精度值
我会用Math.floor(double)
而不是Math.round(double)
或者,如果您想向 0 舍入,您可以直接施放
double d = 1.999999999999;
long l = (long) d;
Math.floor 函数可以解决问题。
采用双精度,返回小于或等于参数且等于数学整数的最大(最接近正无穷大)双精度值。
如果您需要以不同的形式使用它,只需将其转换为(即 int)
如果您对它的工作原理感到好奇,请在此处查看规格:http: //docs.oracle.com/javase/6/docs/api/java/lang/Math.html
如果您需要一个示例,请告诉我,我会联系您 :)