Java格式化数字

时间:2022-01-20 12:20:15
DecimalFormat df = new DecimalFormat ("000");

String string = "1";
try {
    int number = Integer.parseInt(string);
    DecimalFormat df = new DecimalFormat ("000");
    string = df.format(number);
   // string = String.format(Locale.ENGLISH, "%02d", number);
} catch(NumberFormatException e) {
    ToastUtils.showShort(mContext, "您输入的字符串含有非数字字符,无法转成整数");
}

DecimalFormat用法

  • DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字;
  • DecimalFormat 包含一个模式 和一组符号。

符号含义:

  • 0 一个数字

  • # 一个数字,不包括 0

  • . 小数的分隔符的占位符

  • , 分组分隔符的占位符

  • ; 分隔格式。

  • - 缺省负数前缀。

  • % 乘以 100 和作为百分比显示

  • ? 乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用国际货币符号代替。如果出现在一个模式中,用货币十进制分隔符代替十进制分隔符。

  • X 前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。

例子:

DecimalFormat df1 = new DecimalFormat("0.0");

DecimalFormat df2 = new DecimalFormat("#.#");

DecimalFormat df3 = new DecimalFormat("000.000");

DecimalFormat df4 = new DecimalFormat("###.###");

System.out.println(df1.format(12.34));

System.out.println(df2.format(12.34));

System.out.println(df3.format(12.34));

System.out.println(df4.format(12.34));

结果:

12.3

12.3

012.340

12.34