java中的NumberFormat和DecimalFormat怎么使用

avatar
作者
筋斗云
阅读量:0

在Java中,NumberFormat和DecimalFormat是两个用于格式化数字的类。

NumberFormat是一个抽象基类,可以用于任何数字类型的格式化。要使用NumberFormat,可以按照以下步骤进行:

  1. 使用NumberFormat.getInstance()方法获取NumberFormat的实例。
  2. 使用format()方法将数字格式化为字符串。
  3. 使用parse()方法将字符串解析为数字。

下面是一个使用NumberFormat的示例:

import java.text.NumberFormat;  public class Main {     public static void main(String[] args) {         double number = 12345.6789;          // 获取NumberFormat实例         NumberFormat numberFormat = NumberFormat.getInstance();          // 格式化数字为字符串         String formattedNumber = numberFormat.format(number);         System.out.println("Formatted number: " + formattedNumber);          // 解析字符串为数字         try {             Number parsedNumber = numberFormat.parse(formattedNumber);             System.out.println("Parsed number: " + parsedNumber);         } catch (ParseException e) {             e.printStackTrace();         }     } } 

输出结果为:

Formatted number: 12,345.679 Parsed number: 12345.679 

DecimalFormat是NumberFormat的子类,它专门用于格式化和解析十进制数字。与NumberFormat相比,DecimalFormat提供了更多的控制选项,例如指定小数点位置、千分位分隔符等。要使用DecimalFormat,可以按照以下步骤进行:

  1. 创建一个DecimalFormat对象,并指定格式化模式。
  2. 使用format()方法将数字格式化为字符串。
  3. 使用parse()方法将字符串解析为数字。

下面是一个使用DecimalFormat的示例:

import java.text.DecimalFormat;  public class Main {     public static void main(String[] args) {         double number = 12345.6789;          // 创建DecimalFormat对象并指定格式化模式         DecimalFormat decimalFormat = new DecimalFormat("#,##0.00");          // 格式化数字为字符串         String formattedNumber = decimalFormat.format(number);         System.out.println("Formatted number: " + formattedNumber);          // 解析字符串为数字         try {             Number parsedNumber = decimalFormat.parse(formattedNumber);             System.out.println("Parsed number: " + parsedNumber);         } catch (ParseException e) {             e.printStackTrace();         }     } } 

输出结果为:

Formatted number: 12,345.68 Parsed number: 12345.68 

在上面的示例中,使用#,##0.00作为格式化模式,表示数字使用千分位分隔符,并保留两位小数。你可以根据自己的需求调整格式化模式。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!