如何打印格式化的BigDecimal值?
2022-08-31 08:37:04
我有一个表示金钱的字段,我需要在浏览器中以类似, , .BigDecimal
amount
$123.00
$15.50
$0.33
我该怎么做?
(我看到自己唯一简单的解决方案是从分数部分获得,然后用于使分数部分达到两位数精度)。floatValue
BigDecimal
NumberFormat
我有一个表示金钱的字段,我需要在浏览器中以类似, , .BigDecimal
amount
$123.00
$15.50
$0.33
我该怎么做?
(我看到自己唯一简单的解决方案是从分数部分获得,然后用于使分数部分达到两位数精度)。floatValue
BigDecimal
NumberFormat
要设置千位分隔符,假设您必须使用DecimalFormat:123,456.78
DecimalFormat df = new DecimalFormat("#,###.00");
System.out.println(df.format(new BigDecimal(123456.75)));
System.out.println(df.format(new BigDecimal(123456.00)));
System.out.println(df.format(new BigDecimal(123456123456.78)));
结果如下:
123,456.75
123,456.00
123,456,123,456.78
虽然我设置了掩码,但它也成功地格式化了较长的值。请注意,结果中的逗号(,) 分隔符取决于您的区域设置。它可能只是俄语区域设置的空格()。#,###.00