Java 大十进制减法的结果是指数的
我有以下代码Java 大十进制减法的结果是指数的,java,bigdecimal,exponential,Java,Bigdecimal,Exponential,我有以下代码 BigDecimal b1 = new BigDecimal("1.12345678912345678"); BigDecimal b2 = new BigDecimal("1.12345678912345678"); System.out.println(b1.subtract(b2)); 输出为: 0E-17 如何避免指数格式?bigdecimal的toPlainString方法将返回字符串,我不希望这样。我希望我的bigdecimal对象不带指数值。您正在调
BigDecimal b1 = new BigDecimal("1.12345678912345678");
BigDecimal b2 = new BigDecimal("1.12345678912345678");
System.out.println(b1.subtract(b2));
输出为:
0E-17
如何避免指数格式?bigdecimal的toPlainString方法将返回字符串,我不希望这样。我希望我的bigdecimal对象不带指数值。您正在调用
println(object)
方法,它在内部使用object.toString()
方法
从
如果需要指数,则使用科学记数法返回此BigDecimal的字符串表示形式。
您关于
toPlainString()
方法和想要一个bigdecimal对象的声明没有意义,因为区别只是toString()
方法和toPlainString()
方法(两者都返回不同格式的字符串表示形式)之间的区别。在这两种情况下,您将拥有相同的BigDecimal
对象。区别只是在打印时。实际上我不想打印。假设结果为b3=b1-b2。现在我想把b3和b4相加。我的目标不是印刷。但是要做进一步的计算。有可能吗?@user2354566,有可能。。。只需使用对象进行所有计算。。。最后,当您想要打印出来时,请使用toPlainString()
方法。