作业帮 > 综合 > 作业

java 保留小数点4位,不足时用0补足

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/30 16:05:42
java 保留小数点4位,不足时用0补足
例如:double b = 96.6;
处理后:要得到 Double b = 96.6000; 类型一定要是Double型,且结果为96.6000
Double b =96.612345,这种的我自己会,取小数点后4位,小数点后不超过4位时,如何用0取
Double 似乎不会记住当时有多少个 scale,而 BigDecimal 就会记住.所以这个 96.6000 跟 96.6 是一样的,不能区分出来,任何计算都可能把它转换成 96.6,所以你还想要后面跟着几个占位的0就麻烦了.
如果是用 java.math.BigDecimal 就没有这个问题,它始终能记得需要几个小数位.如果你只是需要在转换成字符串时补齐4个位就容易了.
System.out.println("Double :" + new DecimalFormat("#,##0.0000").format(new Double("96.00000")));
再问: 我知到可以这样,new DecimalFormat("#,##0.0000").format(new Double("96.00000"))); 返回的是String,,我最终把它转换为Double就又回到了96.6,我是传值的时候需要传一个小数点后有4位的。我要传的值是Double型,我不能给一个String啊
再答: 因为 Double 不会记住保留几个小数位,只是看有尾数就保留,没有的位置就去掉,所以用 Double 做不到这点,再说了用 Double 类型本身就不是一个好主意。一般数字运算应该用 BigDecimal ,大数字用 BigInteger 等。