1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package  com.sohu.tv.m.servlet;
 
import  java.text.DecimalFormat;
 
/**
  * just for simple Test
  *
  * @author liweihan
  * @time 2016-12-13 10:47
  */
public  class  Test2 {
 
     public  static  void  main(String[] args) {
         /**
          * DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。
          * DecimalFormat 包含一个模式 和一组符号
          * 符号含义:
          0 一个数字
          # 一个数字,不包括 0
          . 小数的分隔符的占位符
          , 分组分隔符的占位符
          ; 分隔格式。
          - 缺省负数前缀。
          % 乘以 100 和作为百分比显示
          ? 乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用
            国际货币符号代替。如果出现在一个模式中,用货币十进制分隔符代
            替十进制分隔符。
 
          X 前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。
          */
 
         Double pi =  3.1415927 ;
         //取一位整数
         System.out.println( new  DecimalFormat( "0" ).format(pi));  //3
         //取一位整数和两位小数
         System.out.println( new  DecimalFormat( "0.00" ).format(pi));  //3.14
         //取两位整数和三位小数,整数不足部分以0填补
         System.out.println( new  DecimalFormat( "00.000" ).format(pi));  //03.142
         //取所有整数部分
         System.out.println( new  DecimalFormat( "#" ).format(pi));  //3
         //以百分比方式计算,并取两位小数
         System.out.println( new  DecimalFormat( "#.##%" ).format(pi));  //314.16%
 
         long  c = 2999792458l;
         //显示科学计数法,并取5位小数
         System.out.println( new  DecimalFormat( "#.#####E0" ).format(c));  //2.99979E9
         //显示两位整数的科学计数法,并取四位小数
         System.out.println( new  DecimalFormat( "00.####E0" ).format(c)); //29.9979E8
         //每三位以逗号进行分割
         System.out.println( new  DecimalFormat( ",###" ).format(c)); //2,999,792,458
         //将格式嵌入文本
        System.out.println( new  DecimalFormat( "大小为每秒,###米。" ).format(c));  //大小为每秒2,999,792,458米。
     }
}



     本文转自韩立伟 51CTO博客,原文链接:http://blog.51cto.com/hanchaohan/1882176,如需转载请自行联系原作者