格式化小数位数

文章目录

  • 前言
  • 一、利用DecimalFormat 格式化
  • 二、利用MessageFormat格式化
  • 总结


前言

格式化数字一般采用 DecimalFormat
DecimalFormat 可以处理各种精确的数值格式化,一般还会搭配 float double 已经精度较高的 BigDecimal 使用;


一、利用DecimalFormat 格式化

例如: 我想格式数字 保留四位有效数字,小数位数不够补0即可

   DecimalFormat decimalFormat = new DecimalFormat("0.0000");
   System.out.println(decimalFormat.format(new BigDecimal("11.123")));
   System.out.println(decimalFormat.format(new BigDecimal("0.123")));

一般用此方法,需要搭配 BigDecimal 一起使用,否则可能导致 类似0.123 转出后 变为.123,缺失前缀0

二、利用MessageFormat格式化

	Object num = -0.123;
    String format = MessageFormat.format("%.{0}f", 4);
    System.out.println(String.format(format, NumberUtil.parseNumber(num.toString())));

先利用 MessageFormat 格式化一个 格式化数字的表达式 ,这里小数位数可以为活值
然后利用 String.format 格式化 数值为 要求的小数位数


总结

小小的数字位数格式化,也搞了半天~~

你可能感兴趣的:(杂七杂八,java)