BigDecimal类中toString和toPlainString区别

BigDecimal num = new BigDecimal("0.1234").pow(10);
System.out.println(num);//1
System.out.println(num.toString());//2
System.out.println(num.toPlainString());//3

System.out.println("重新转换为BigDecimal");
BigDecimal num2 = new BigDecimal(num.toString());
BigDecimal num3 = new BigDecimal(num.toPlainString());
System.out.println(num2.toPlainString());
System.out.println(num3.toPlainString());

执行测试代码,直接看结果:

8.187505353567209228244052427776E-10
8.187505353567209228244052427776E-10
0.0000000008187505353567209228244052427776
重新转换为BigDecimal
0.0000000008187505353567209228244052427776
0.0000000008187505353567209228244052427776

1、1和2不用说,直接print对象默认调用的就是对象的toString方法。
2、从结果可以看出,toString会输出科学计数法的表达形式;toPlainString会直接输出小数,不会变成科学计数法。
3、两种表现形式都可以使用BigDecimal构造方法重新转换成BigDecimal对象。


文章太有用啦👍,打赏个钢镚鼓励鼓励!!