温馨提示×

java中numberformat的用法是什么

小亿
110
2023-12-27 20:12:32
栏目: 编程语言

NumberFormat类是Java中用于格式化数字的类。它提供了一些静态方法和实例方法来格式化和解析数字。

  1. 使用静态方法获取NumberFormat实例:

    • getInstance():返回当前默认语言环境的通用数值格式器。
    • getCurrencyInstance():返回当前默认语言环境的通用货币格式器。
    • getPercentInstance():返回当前默认语言环境的通用百分比格式器。
  2. 实例方法:

    • setMaximumIntegerDigits(int newValue):设置最大整数位数。
    • setMinimumIntegerDigits(int newValue):设置最小整数位数。
    • setMaximumFractionDigits(int newValue):设置最大小数位数。
    • setMinimumFractionDigits(int newValue):设置最小小数位数。
    • setGroupingUsed(boolean newValue):设置是否启用分组(千位分隔符)。
    • format(double/long/Number number):将数字格式化为字符串。
    • parse(String source):将字符串解析为数字。

示例代码:

import java.text.NumberFormat;

public class NumberFormatExample {
    public static void main(String[] args) {
        double number = 12345.6789;

        // 获取通用数值格式器
        NumberFormat numberFormat = NumberFormat.getInstance();
        String formattedNumber = numberFormat.format(number);
        System.out.println("通用格式化:" + formattedNumber);

        // 获取货币格式器
        NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
        String formattedCurrency = currencyFormat.format(number);
        System.out.println("货币格式化:" + formattedCurrency);

        // 获取百分比格式器
        NumberFormat percentFormat = NumberFormat.getPercentInstance();
        String formattedPercent = percentFormat.format(number);
        System.out.println("百分比格式化:" + formattedPercent);

        // 解析字符串为数字
        String source = "12,345.6789";
        try {
            double parsedNumber = numberFormat.parse(source).doubleValue();
            System.out.println("解析结果:" + parsedNumber);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

输出结果:

通用格式化:12,345.679
货币格式化:¥12,345.68
百分比格式化:1,234,568%
解析结果:12345.679

通过NumberFormat类,可以方便地对数字进行格式化和解析,以满足不同的显示需求。

0