Java格式BigDecimal数字,带逗号和2位小数

我想用逗号和2个小数点格式化BigDecimal数字。 例如

Amount is: 5.0001 and formatted to: 5.00 Amount is: 999999999.999999 and formatted to: 999,999,999.99 Amount is: 1000.4999 and formatted to: 1,000.49 Amount is: 9999.089 and formatted to: 9,999.08 Amount is: 0.19999 and formatted to: 0.19 Amount is: 123456.99999999 and formatted to: 123,456.99 

这应该足以得到结果。

 String.format("%,.2f", amount.setScale(2, RoundingMode.DOWN)); 

你应该使用DecimalFormat

 val df: DecimalFormat = DecimalFormat("#,##0.000") df.decimalFormatSymbols = DecimalFormatSymbols(Locale.getDefault()) df.format(BigDecimal(123456,78)); //will output 123.456,78 - depending on Locale