【发布时间】:2014-07-11 06:17:52
【问题描述】:
我有一个场景,我以字符串的形式获得一个金额,我需要将其四舍五入并作为字符串发送我所做的是:
public static String roundOff(String pfEmpWithoutRoundOff) {
try {
BigDecimal bigDecimal = new BigDecimal(pfEmpWithoutRoundOff);
int value = bigDecimal.intValue();
int length = String.valueOf(value).length();
BigDecimal rounded = bigDecimal.round(new MathContext(length, RoundingMode.HALF_UP));
return String.valueOf(rounded);
}
catch(ArithmeticException e)
{
e.printStackTrace();
}
return null;
}
那么有什么方法可以优化代码。我有一些 5 行,我可以做一些 2-3 行。
【问题讨论】:
-
我在想是否有人可以在这里帮助我
-
可能是字符串格式?数量是否真的很大以使其成为 BigDecimal? String.format(Locale.US, "%.2f", rawprice);
-
@IvanIvanov 想要它在 BigDecimal 中只是想在一些大额的情况下安全
标签: java bigdecimal