我正在尝试将一些BigDecimals格式化为货币格式。我不需要小数位来显示BigDecimal中是否有,但是两个小数位显示是否有一些(即使它只有10个)
e.g。
12334 - > 12334
12334.99 - > 12,334.99
12334.90 - > 12,334.90
不
12334.90 - > 12,334.9
目前使用NumberFormat.getInstance()仅对上面的最后一个例子失败
答案 0 :(得分:1)
int precision = val.toString().indexOf('.') != -1 ? 2:0;
NumberFormat formatter = NumberFormat.getInstance();
formatter.setMinimumFractionDigits(precision);
String result = formatter.format(val);
答案 1 :(得分:0)
试试这个:
NumberFormat formatter = NumberFormat.getInstance();
formatter.setMinimumFractionDigits(2);
String formatted = formatter.format(number);
if (formatted.endsWith(".00")) {
formatted = formatted.substring(0, formatted.length()-3);
}