我使用RoundingMode.HALF_UP
有大约400条语句,根据应用程序的性质,我希望用户能够在舍入模式之间进行选择。但是,如果可能的话,我对如何将其表示为变量感到茫然。由于令人难以置信的陈述数量,我想避免if
陈述。
可以做我要问的事吗?
我试过了一个枚举,但这就是我所能想到的。其他一切都通过了大约一半。谷歌没有帮助。欢迎任何建议。
答案 0 :(得分:1)
试试这个
RoundingMode roundingMode = ...;
...
BigDecimal bd3 = bd1.divide(bd2, 2, roundingMode);
答案 1 :(得分:1)
如果我没有错,那么您正在寻找用户选择与实际RoundingMode
对象之间的映射以传递给您的计算。对于此RoundingMode
提供values()
方法,该方法返回所有可用的RoundingModes
。您可以使用这些选项为您的用户提供选择
RoundingMode[] modes = RoundingMode.values();
for (RoundingMode roundingMode : modes) {
System.out.println(roundingMode.name());
}
选择值后,您可以通过以下方式找到要在计算中使用的RoundingMode
对象:
RoundingMode.valueOf(String)
这将为您提供相应的RoundingMode
。
希望这有帮助。