【发布时间】:2017-11-13 15:35:33
【问题描述】:
我正在尝试使用以下内容指定 BigDecimal 值的精度:new BigDecimal(12.99).setScale(2, BigDecimal.ROUND_HALF_EVEN。但是,编译器告诉我 setScale(int, int) 已弃用。
当我尝试使用 RoundingMode 枚举时,它告诉我该枚举可能尚未初始化。如何正确使用枚举以 setScale(int, RoundingMode) 实例化 BigDecimals?
谢谢!
【问题讨论】:
-
显示一个可运行的示例,其中包含我可以复制到编辑器中以重现您的问题的代码。
-
如果你想创建一个值为 12.99 的 BigDecimal,只需使用
BigDecimal.valueOf(1299, 2)。 -
@KlitosKyriacou。我的意思是导致“未初始化”问题的代码。感谢您了解这一点。
-
@MadPhysicist 我没有和你说话;)我同意你所说的。我的评论只是让 OP 知道另一种初始化 BigDecimal 的方法(这也保证不四舍五入)。
标签: java enums deprecated bigdecimal deprecation-warning