java - 优化 BigDecimal 数四舍五入的代码

标签 java bigdecimal

我有一个场景,我收到字符串形式的金额,我需要将其四舍五入并作为字符串发送,我所做的是:

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 行代码。

最佳答案

你的意思是:

return new BigDecimal(pfEmpWithoutRoundOff).setScale(0, RoundingMode.HALF_UP).toString();

关于java - 优化 BigDecimal 数四舍五入的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24691221/

相关文章:

java - 二分查找给出错误类型 "Collections is not applicable for the arguments"

java - 如何使用 BigDecimal.ROUND_HALF_UP 将 0.745 舍入到 0.75?

ruby - 在 Ruby on Rails 中比较两个几乎相同的 BigDecimal 数字

java - BigDecimal 乘以零

java - BigDecimal 等于 <= 和 >= 最佳实践

java - 在 AlertDialog 中检索用户信息

java - 在子列表上调用 size() 时出现 ConcurrentModificationException

java - 为 play 框架和 spring 定制 secureSocial(依赖注入(inject))

java - 使用 jna 加载 lib.so

java - 对 double 值进行减法时未得到预期结果