目录
DecimalFormat(Java中的应用——十进制数字格式化)
NumberFormat
常用的格式化符号
DecimalFormat
DecimalFormat示例:
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化【十进制数字】。
可以按照本地的风格习惯进行数字的显示,也就是想格式化成什么样都可以自定义。
NumberFormat nf = NumberFormat.getInstance() ; // 得到默认的数字格式化显示
System.out.println("格式化之后的数字:" + nf.format(10000000)) ;
System.out.println("格式化之后的数字:" + nf.format(1000.456)) ;
输出效果中可以看到,直接格式化成了每三位一个【,】的计数方式了,很欧美的样式。
符号 | 位置 | 含义 |
---|---|---|
0 | 数字 | 阿拉伯数字 |
# | 数字字 | 阿拉伯数字,如果不存在则显示为空 |
. | 数字 | 小数分隔符或货币小数分隔符 |
- | 数字 | 减号 |
, | 数字 | 分组分隔符 |
E | 数字 | 分隔科学计数法中的尾数和指数。在前缀或后缀中无需加引号。 |
; | 子模式边界 | 分隔正数和负数子模式 |
% | 前缀或后缀 | 乘以 100 并显示为百分数 |
符号以及new的声明
/*#和0都是占位符,#:当要格式化的数字位数不足时#会补空白,0:当要格式化的数字位数不足时会补0*/
new DecimalFormat("#.##");
new DecimalFormat("0.000");//自动填充0补位
new DecimalFormat("#0.000%");//数字以%的形式展示,小数转百分比自动转换
new DecimalFormat("#.##%");//数字以%的形式展示,小数转百分比自动转换
new DecimalFormat(",###");//用","将数字按3位隔开
new DecimalFormat("$,###");//组合
new DecimalFormat("###,###.000");//四舍五入
package com.item.action;
import java.text.DecimalFormat;
import java.text.NumberFormat;
public class Demo {
public static void main(String[] args) {
//数字格式化,#和0都是占位符,#:当要格式化的数字位数不足时#会补空白;0:当要格式化的数字位数不足时会补0
DecimalFormat df1 = new DecimalFormat("#.##");//补充空白
System.out.println(df1.format(0.7));
DecimalFormat df2 = new DecimalFormat("0.000");//补充0
System.out.println(df2.format(0.7));
//数字以%的形式展示,小数转百分比自动转换
DecimalFormat df3 = new DecimalFormat("#0.000%");
System.out.println(df3.format(0.71));
//数字以%的形式展示,小数转百分比自动转换
DecimalFormat df4 = new DecimalFormat("#.##%");
System.out.println(df4.format(0.01111));
//用","将数字按3位隔开
DecimalFormat df5 = new DecimalFormat(",###");
System.out.println(df5.format(543234321));
//字符串与数字组合
DecimalFormat df6 = new DecimalFormat("$,###");
System.out.println(df6.format(543234321));
//四舍五入
DecimalFormat df7 = new DecimalFormat("###,###.000");
System.out.println(df7.format(543234321.567936781));
}
}
对应结果: