Java基础:第二十一讲 数字的格式化

 

在很多情况下需要对输出的信息进行格式化,尤其是当输入的内容为数字的时候,需要按照特定的格式进行输出。另外对运行的结果可能需要进行特殊的处理,例如结果只保留小数点后两位。对数字进行格式化可以使用下面的两个类:
n         java.text.DecimalFormat
n         java.text.NumberFormat
NumberFormat 是抽象类,所以主要使用DecimalFormat 完成格式化。通常使用DecimalFormat 的构造函数来生成格式,例如:
NumberFormat nf = new DecimalFormat("0.00");
0.00 ”表示数字的格式为小数点后保留两位,如果整数部分为0 0 不能省略,小数点后如果是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
 
 
    李绪成 CSDN Blog http://blog.csdn.net/javaeeteacher
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值