当你有一个大的 double :1000000000D时,结果会被压缩为1.0E8,如何让它打印出1000000000而不是1.0E8。
注意:10000000000.10 也会发生。
要解决此问题,只需使用 BigDecimal 或 DecimalFormat,使用 DecimalFormat 您无法再编辑金额,因为它现在是一个字符串,但使用 BigDecimal 会减慢您的程序速度。
最佳答案
使用BigDecimal的示例
BigDecimal bd = new BigDecimal(1000000000d, new MathContext(0));
System.out.println(bd);
DecimalFormat df = new DecimalFormat("#");
System.out.println(df.format(10000000000000000000.0));
关于java - 从 double 中删除 1.8E1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31164621/