天天看點

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() 進行全字元輸出。

Java BigDecimal 如何去掉末尾多餘的 0
https://blog.ossez.com/archives/3227