阅读量:0
NumberFormat类和DecimalFormat类是Java中用于格式化数字的两个类。
NumberFormat类是一个抽象类,用于格式化和解析数字。可以通过调用静态方法getInstance()来获取一个默认的NumberFormat对象,也可以通过调用静态方法getCurrencyInstance()、getPercentInstance()等获取特定类型的NumberFormat对象。然后可以调用format()方法将数字格式化为字符串,调用parse()方法将字符串解析为数字。
DecimalFormat类是NumberFormat的一个具体子类,用于格式化和解析十进制数字。可以通过创建一个DecimalFormat对象,设置格式化的模式,然后调用format()方法将数字格式化为字符串,调用parse()方法将字符串解析为数字。
以下是一个示例代码,演示了如何使用NumberFormat类和DecimalFormat类来格式化数字:
import java.text.DecimalFormat; import java.text.NumberFormat; public class Main { public static void main(String[] args) { // 使用NumberFormat类格式化数字 NumberFormat numberFormat = NumberFormat.getInstance(); String formattedNumber = numberFormat.format(12345.67); System.out.println("Formatted number: " + formattedNumber); // 使用DecimalFormat类格式化数字 DecimalFormat decimalFormat = new DecimalFormat("#,###.00"); String formattedDecimal = decimalFormat.format(12345.67); System.out.println("Formatted decimal: " + formattedDecimal); // 使用DecimalFormat类解析字符串 try { Number parsedNumber = decimalFormat.parse("12,345.67"); System.out.println("Parsed number: " + parsedNumber); } catch (Exception e) { System.out.println("Error parsing number"); } } }
在上面的示例中,我们首先使用NumberFormat类和DecimalFormat类分别格式化了一个数字和一个十进制数,并将结果打印出来。然后使用DecimalFormat类解析了一个格式化的字符串,并将结果打印出来。