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,如需转载请自行联系原作者