关于Java中的NumberFormat

NumberFormat类

  • NumberFormat类是iava.text 包中的一个工具类,它的主要作用是对数值进行格式化,得到期望格式的字符串
    • 例如,当你期望将数字转换为百分比格式时,若果输入0.37,将得到37%
    • 注意:只要对象的本质是数值,均可格式化!
      • 例如: Biglnteger、BigDecimal、String等
    • 格式化后得到的是StringBuffer对象
      • 一定程度上,你可以把StringBuffer直接理解为String
  • NumberFormat类是抽象类,不可以直接创建对象。

预置的几种NumberFormat

你可以通过NumberFormat的几个静态方法得到预置的NumberFormat对象

方法 说明
public static final NumberFormat getInstance() 获取对象,等效于getNumberInstance()
public static final NumberFormat getNumberInstance() 获取格式化为数字的对象
public static final NumberFormat getIntegerInstance() 获取格式化为整型数的对象
public static final NumberFormat getCurrencyInstance() 获取格式化为货币样式的对象
public static final NumberFormat getCurrencyInstance(Locale) 获取格式化为指定地区的货币样式的对象
public static final NumberFormat getPercentInstance() 获取格式化为百分比的对象

代码展示

public class NumberFormatDemo {
    
    
    public static void main(String[] args) {
    
    
        //将被格式化的数
        double value = 93.27;
        BigDecimal number = BigDecimal.valueOf(value);

        //获取NumberFormat工具的对象
        NumberFormat percentInstance = NumberFormat.getPercentInstance();//获取格式化为百分比的对象
        NumberFormat currencyInstance = NumberFormat.getCurrencyInstance();//获取格式化为货币样式的对象

        //执行格式化
        String percentResult = percentInstance.format(number);
        String currencyResult = currencyInstance.format(number);

        //输出结果
        System.out.println(percentResult);
        System.out.println(currencyResult);

    }
}

小结

  • 使用NumberFormat可以将数值格式化为特定的格式,包括
    • 数字
    • 整型数
    • 货币样式 (可设置地区)
    • 百分比
  • 只要数据的本质是数值,都可以格式化;
  • 先通过NumberFormat的静态方法获取对象,再调用format()方法即可得到格式化后的字符串。
    • 根据期望的目标格式,调用不同的方法
    • 得到的结果是StringBuffer对象。

猜你喜欢

转载自blog.csdn.net/mfysss/article/details/128851119