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

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

 

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

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

考察下面的代码:

你可以访问 https://github.com/cwiki-us-demo/java-tutorials/blob/master/java-numbers/src/test/java/com/ossez/maths/BigDecimalDemoUnitTest.java 访问源代码。

 

复制代码
    /**
     * 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() 进行全字符输出。

 

https://blog.ossez.com/archives/3227

posted @   huyuchengus  阅读(1850)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示