禁用Java使大数字变小?(10,000,000,000到1E10)

Nep*_*ame 0 java integer

我在数据库中有一个很大的数字; 在这种情况下,10,000,000,000.每当我将这些信息用于某些事情时,例如用它发送消息,而不是10,000,000,000,它就说1E10,我真的不希望这样.

我可以以任何方式避免这种情况吗?

如果我去数据库,则值为10,000,000,000.

Mak*_*oto 6

它是相同的数字,仅用科学记数法表示.

由于您没有描述如何存储值,因此可以使用DecimalFormat#getNumberInstance它来帮助将其格式化为不包含科学记数法的值.

double foo = 10000000000L;
System.out.println(foo);
System.out.println(DecimalFormat.getIntegerInstance().format(foo));
Run Code Online (Sandbox Code Playgroud)

这输出:

1.0E10
10,000,000,000
Run Code Online (Sandbox Code Playgroud)