我正在尝试使用以下内容指定 BigDecimal 值的精度: new BigDecimal(12.99).setScale(2, BigDecimal.ROUND_HALF_EVEN
。但是,编译器告诉我 setScale(int, int)
已弃用。
当我尝试使用 RoundingMode 枚举时,它告诉我枚举可能尚未初始化。如何正确使用枚举来实例化 BigDecimals setScale(int, RoundingMode)
?
谢谢!
原文由 BenjaminJC 发布,翻译遵循 CC BY-SA 4.0 许可协议
根据文档,
setScale(int, int)
自 Java 1.5 首次引入枚举以来就不再推荐:它最终在 Java 9 中被弃用。
您应该改为调用
setScale(2, RoundingMode.HALF_EVEN)
。它使错误检查变得更加简单,因为您不能传入未定义的enum
,但您当然可以传入未定义的整数模式。