草庐IT

stripTrailingZeroes

全部标签

java - BigDecimal.stripTrailingZeroes() 行为的澄清

为什么下面的代码打印出0.00而不是0?BigDecimalbig=newBigDecimal("0.00");big=big.stripTrailingZeros();System.out.println(big.toPlainString());以下是stripTrailingZeroes的文档:ReturnsBigDecimalwhichisnumericallyequaltothisonebutwithanytrailingzerosremovedfromtherepresentation.Forexample,strippingthetrailingzerosfromtheB

java - BigDecimal stripTrailingZeros 不适用于零

我在我的代码中遇到了奇怪的错误。它与有关newBigDecimal("1.2300").stripTrailingZeros()返回1.23(正确)但是newBigDecimal("0.0000").stripTrailingZeros()返回0.0000(奇怪),因此没有任何反应为什么?如何解决? 最佳答案 这似乎是一个错误(JDK-6480539),已在Java8中修复(根据OpenJDK提交2ee772cda1d6)。Java早期版本的解决方法:BigDecimalzero=BigDecimal.ZERO;if(someBig

java - 为什么 new BigDecimal ("0.0").stripTrailingZeros() 的标度为 1?

运行这个简单的程序:publicstaticvoidmain(finalString...args){System.out.println(BigDecimal.ZERO.scale());System.out.println(newBigDecimal("0").scale());System.out.println(newBigDecimal("0.0").stripTrailingZeros().scale());System.out.println(newBigDecimal("1.0").stripTrailingZeros().scale());}输出:0010我的问题很简