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