Java学习笔记-stripTrailingZeros()和toPlainString()

toPlainString():返回不带指数字段的此 BigDecimal 的字符串表示形式
stripTrailingZeros():返回一个BigDecimal,它在数值上等于这一个,但表示形式移除所有尾部零

Java BigDecimal 如何去掉末尾多余的 0 呢?

BigDecimal 原生提供了stripTrailingZeros() 方法可以实现去掉末尾的 0。

如果你在这里直接使用 然后使用 toString() 将会转换为科学计数法输出。

 /**
     * To StripTrailingZeros
     */
    @Test
    public void bigDecimalStripTrailingZerosTest() {
        BigDecimal bigNumber = new BigDecimal("2707000000000");

        // apply StripTrailingZeros function
        logger.info("{}", bigNumber.toString());
        logger.info("{}", bigNumber.stripTrailingZeros().toString());
        logger.info("{}", bigNumber.stripTrailingZeros().toPlainString());
    }

 

2020/02/25 14:00:19.271 [main] INFO c.ossez.maths.BigDecimalDemoUnitTest - 2707000000000
2020/02/25 14:00:19.275 [main] INFO c.ossez.maths.BigDecimalDemoUnitTest - 2.707E+12
2020/02/25 14:00:19.275 [main] INFO c.ossez.maths.BigDecimalDemoUnitTest - 2707000000000

stripTrailingZeros(),将会转换为科学计数法输出,如果你不希望用科学计数法输出的话,那么你可以使用 toPlainString() 进行全字符输出。

public class Test {
    public static void main(String[] args) {
        BigDecimal a1=new BigDecimal("1000.123344");
        BigDecimal a2=new BigDecimal("9.011110000");
 
        System.out.println(a1.toPlainString());
        System.out.println(a2.stripTrailingZeros());
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值