如何强制Java中的double
打印整个数字。不像1.65462165887E12.But喜欢1654621658874684?
由于
答案 0 :(得分:10)
适当格式化。例如:
System.out.printf("%.1f", 1654621658874684.0);
或者您可以像字符串一样使用它:
//"%.1f" this mean, how many number after the comma
String value = String.format("%.1f", 1654621658874684.0);
请注意double
并非无限精确。它的精度约为15 to 17 decimal digits。如果您需要具有任意精度的浮点数,请使用BigDecimal
而不是double
。
答案 1 :(得分:2)
您可以使用String.format()
:
System.out.println(String.format("%.0f", 1654621658874684.0d)); // prints 1654621658874684
答案 2 :(得分:0)
String formatted = String.format("%f", dblNumber);
答案 3 :(得分:0)
我使用类似
的东西if((long) d == d)
System.out.println((long) d);
else
System.out.println(d);
long可以有18位数,而double
最多可以有15-16位数。