数字的格式化

来源:互联网 发布:淘宝信息管理系统要求 编辑:程序博客网 时间:2024/05/18 22:08
在很多情况下需要对输出的信息进行格式化,尤其是当输入的内容为数字的时候,需要按照特定的格式进行输出。另外对运行的结果可能需要进行特殊的处理,例如结果只保留小数点后两位。对数字进行格式化可以使用下面的两个类:
n         java.text.DecimalFormat
n         java.text.NumberFormat
NumberFormat是抽象类,所以主要使用DecimalFormat完成格式化。通常使用DecimalFormat的构造函数来生成格式,例如:
NumberFormat nf = new DecimalFormat("0.00");
0.00”表示数字的格式为小数点后保留两位,如果整数部分为00不能省略,小数点后如果是0也不能省略。下面是3个转换的例子:
10.374           ——〉           10.37
10.301           ——〉           10.30
0.301             ——〉           0.30
在格式中另外还有一个符号“#”,表示一位数字,如果是0不显示。下面的例子使用了“#”号,并且整数部分每3位中间使用“,”隔开。
NumberFormat nf2 = new DecimalFormat("###,###,###.##");
下面的例子使用两种不同的格式对float类型变量进行格式化:
【例8-3
// NumberFormatTest.java
import java.text.NumberFormat;
import java.text.DecimalFormat;
public class NumberFormatTest {
 public static void main(String[] args) {
      // 要格式化的数字
      double a = 1234567.7014;
      // 构造一种格式
      NumberFormat nf2 = new DecimalFormat("###,###,###.##");
      // 构造一种格式
      NumberFormat nf = new DecimalFormat("0.00");
      // 使用第一种格式进行格式化
      String f1 = nf.format(a);
      // 使用第二种格式进行格式化
      String f2 = nf2.format(a);
      // 输出原来的内容
      System.out.println("原来的格式:"+a);
      // 输出第一种格式化的结果
      System.out.println("使用0.00进行格式化:"+f1);
      // 输出第二种格式化的结果
      System.out.println("使用###,###,###.##进行格式化:"+f2);     
 }
}
运行的结果如下:
原来的格式:1234567.7014
使用0.00进行格式化:1234567.70
使用###,###,###.##进行格式化:1,234,567.7
原创粉丝点击