Java中的金额格式化

两种方式

  • 方法一
NumberFormat numberFormat = NumberFormat.getInstance();//  //返回当前缺省语言环境的缺省数值格式。
numberFormat.setMinimumFractionDigits(2);//设置数值的小数部分允许的最小位数。 
numberFormat.setMaximumFractionDigits(2);//设置数值的小数部分允许的最大位数。 
numberFormat.setMaximumIntegerDigits(10);//设置数值的整数部分允许的最大位数.
numberFormat.setMinimumIntegerDigits(0);//设置数值的整数部分允许的最小位数.
System.out.println(numberFormat.format(1002200999.22323)); //1,002,200,999.22
  • 方法二
  DecimalFormat decimalFormat = new DecimalFormat("###,###.00");
  System.out.println(decimalFormat.format(1002200999.22323));    //1,002,200,999.22

DecimalFormatNumberFormat的子类,两种方式实现的效果是一样的。

  • 其他
 NumberFormat getNumberInstance();//获取当前系统的通用数值格式
 NumberFormat getIntegerInstance();//获取当前系统的通用整型格式
 NumberFormat.getCurrencyInstance();//获取当前系统通用金额格式
 NumberFormat.getPercentInstance();//获取当前系统通用百分比格式
  • DecimalFormat 中的 # 与 0 的区别
String format = new DecimalFormat("###,###.00").format(0f);//结果为.00
String format2 = new DecimalFormat("###,##0.00").format(0f);//结果为0.00

你可能感兴趣的:(Java中的金额格式化)