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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容