我有一个Double
对象在转换为值时会丢失确切的long
值。
Double d = 1.14*100
System.out.println(d.longValue());
上面的语句将打印 : 113
。
我想114
被打印出来。
谢谢
我有一个Double
对象在转换为值时会丢失确切的long
值。
Double d = 1.14*100
System.out.println(d.longValue());
上面的语句将打印 : 113
。
我想114
被打印出来。
谢谢
如果您需要使用的确切 114 值Math.round
:
double d = 1.14*100;
System.out.println(Math.round(d));
尝试这个
Long.parseLong( String.format( "%.0f",doublevalue ) ) ;
如果您正在寻找具有您期望的值的整数/长值表示,您可以使用这个:
Math.round(1.14 * 100)
首先,a不double
准确。接下来,当将/转换为/时,小数部分被丢弃(不四舍五入)。double
float
long
int
要获得最接近的值,您需要对其进行四舍五入:
System.out.println(Math.round(d));