我想从BigDecimal中删除所有尾随零并将其打印出来。但尾随的零方法不能按照我的预期工作。将BigDecimal转换为不带尾随零的字符串
BigDecimal a = new BigDecimal("-11111111111111111111111111111111111111.111111111111111111111111111111");
BigDecimal b = new BigDecimal("11111111111111111111111111111111111111.111111111111111111111111111111");
BigDecimal c = a.add(b);
System.out.println(c);
System.out.println(c.toPlainString());
c = c.stripTrailingZeros();
System.out.println(c);
System.out.println(c.toPlainString());
此代码的输出是:
0E-30
0.000000000000000000000000000000
0E-30
0.000000000000000000000000000000
我想的 “0” 的结果。
我的运行完全相同的代码的结果略有不同:'0E-30 0.000000000000000000000000000000 0' – 2014-10-16 16:24:54
嗯...在最后两行,我的代码打印出“0”。你确定这是你的*确切的*代码?您使用的是哪个版本的Java? – 2014-10-16 16:24:56
是的,代码是正确的。我的版本: Java版本“1.6.0_65” Java™SE运行时环境(版本1.6.0_65-b14-462-11M4609) Java HotSpot™64位服务器VM(版本20.65-b04-462,混合模式) – titog 2014-10-16 16:29:44