大十进制。乘法()和除法()方法返回十六进制数。为什么?

这是我的代码:

public class Test1 {
    public static void main(String[] args) {
        BigDecimal wallet = new BigDecimal("0.0");
        BigDecimal productPrice = new BigDecimal("0.01");

        for (int i = 1; i <= 5; i++) {
            wallet = wallet.multiply(productPrice);
        }
        System.out.println(wallet);
    }
} 

结果:0E-11
我有一个问题。为什么我得到的结果是十六进制数系统而不是十进制数?像这样:2.45

回答

这不是十六进制,它是由该方法评估的科学记数toString()法:

返回 this 的字符串表示形式BigDecimal,如果需要指数,则使用科学记数法。

E字母表示数的指数。

一般来说,如果你想格式化一个十进制数,你可以使用java.text.DecimalFormat.


以上是大十进制。乘法()和除法()方法返回十六进制数。为什么?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>