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