强制双倍写入整数

时间:2012-03-07 13:31:34

标签: java double

如何强制Java中的double打印整个数字。不像1.65462165887E12.But喜欢1654621658874684?

由于

4 个答案:

答案 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位数。