您的位置:首页 > 其它

DecimalFormat格式化数字

2014-09-24 16:50 357 查看
DecimalFormat格式化数字

DecimalFormat类也是Format的一个子类,主要作用是格式化数字。当然,在格式化数字时要比直接使用NumberFormat更加 方便,因为可以直接指定按用户自定义的方式进行格式化操作,与SimpleDateFormat类似,如果要进行自定义格式化操作,则必须指定格式化操作 的模板,此模板如表11-13所示。

表11-13 DecimalFormat格式化模板

序号

标 记

位 置

描 述

1

0

数字

代表阿拉伯数字,每一个0表示一位阿拉伯数字,

如果该位不存在则显示0

2

#

数字

代表阿拉伯数字,每一个#表示一位阿拉伯数字,

如果该位不存在则不显示

3

.

数字

小数点分隔符或货币的小数分隔符

4

-

数字

代表负号

5

,

数字

分组分隔符

6

E

数字

分隔科学计数法中的尾数和指数

7

;

子模式边界

分隔正数和负数子模式

8

%

前缀或后缀

数字乘以100并显示为百分数

9

\u2030

前缀或后缀

乘以1000并显示为千分数

10

¤

\u00A4

前缀或后缀

货币记号,由货币号替换。如果两个同时出现,

则用国际货币符号替换;如果出现在某个模式中

,则使用货币小数分隔符,而不使用小数分隔符

11

,

前缀或后缀

用于在前缀或后缀中为特殊字符加引号,例如

"'#'#" 将 123 格式化为 "#123"。要创建单引

号本身,则连续使用两个单引号,例如"# o''clock"

示例:

DecimalFormat format1=new DecimalFormat("000.00");
System.out.println("Test.main()"+format1.format(12.345));//012.34 小数点前和后缺数补零,小数点后多数截取,6上进一

DecimalFormat format2=new DecimalFormat("##.##");
System.out.println("Test.main()"+format2.format(3.456));//3.46 小数点前和后缺数不补0,小数点后多数截取,6上进一

DecimalFormat format3=new DecimalFormat("000,000,000.000" );
System.out.println("Test.main()"+format3.format(43215696.4562286));//043,215,696.456 数字前的分隔符

DecimalFormat format4=new DecimalFormat("#.##%");
System.out.println("Test.main()"+format4.format(4.5));//450%

DecimalFormat format5=new DecimalFormat("#.##\u2030");
System.out.println("Test.main()"+format5.format(0.0002));//千分号0.2‰

DecimalFormat format6=new DecimalFormat("'这是我的钱$'##.##");//数字前后修饰符(修饰文字用''隔开)  这是我的钱$123.2
System.out.println("Test.main()"+format6.format(123.2));


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: