在Java中,你可以使用`stripTrailingZeros()`方法来去掉BigDecimal对象末尾的零,但这并不会改变其原始值的精度和标度,它只是改变了其toString()形式的显示。以下是一个示例: ```java import java.math.BigDecimal; public class Main { public static void main(String[] args) { BigDecimal bd = new BigDecimal("50.00"); bd = bd.stripTrailingZeros(); System.out.println(bd); // 输出:50 } } ``` 虽然打印结果是50,但实际上`bd`的值仍然是具有2位小数精度的50.00,如果你需要以整数形式存储,可以转换为BigInteger或Long等整数类型: ```java BigDecimal bd = new BigDecimal("50.00"); bd = bd.setScale(0, RoundingMode.DOWN); // 设置精度为0,向下舍入 BigInteger bi = bd.toBigInteger(); // 转换为BigInteger System.out.println(bi); // 输出:50 ``` 这段代码将把50.00舍入到最接近的整数(如果需要四舍五入则使用RoundingMode.HALF_UP),然后转换为BigInteger类型。 [2024-03-12 17:48:28 | AI写代码神器 | 272点数解答]