如何指定要打印的BigDecimal的小数位数?

时间:2010-12-16 05:31:26

标签: java bigdecimal

我正在使用BigDecimal,如下所示:

BigDecimal val = object.getValue();//it returns BigDecimal type value

val包含12.2300。我想在我的页面上显示12.23。我怎么能这样做?

2 个答案:

答案 0 :(得分:4)

使用DecimalFormat

String formatted = new DecimalFormat("#.##").format(val);

答案 1 :(得分:1)

您可以使用DecimalFormat,也可以使用String操作

来操作它
        public static String format(BigDecimal big, int precision){
            String bigS = big.toString();
            int index = bigS.indexOf('.');
            String add = bigS.substring(index, index + precision + 1);
            String formatted = big.longValue() + "" + add;

            return formatted;
        }

        public static void main(String[] args) {

            BigDecimal big = new BigDecimal(2342342232.23232);
            System.out.println(format(big, 2));
            System.out.println(format(big, 3));
        }

当然,DecimalFormat是聪明的方式