使用java.text.DecimalFormat进行数字格式化处理,该类是NumberFormat的一个子类
DeciamlFormat类中的特殊字符说明
字符 | 说明 |
0 | 代表一位阿里伯数字,如果该位不存在,则显示0 |
# | 代表一位阿拉伯数字,如何该位不存在,则不显示数字 |
. | 小数分隔符或货币小数分隔符 |
- | 负号 |
, | 分组分割符 |
E | 分割科学技术法中的尾数和指数 |
% | 本符号放在数字的前缀或后缀,将数字乘以100显示为百分数 |
\u2030 | 本符号放在数字的前缀或后缀,将数字乘以1000显示为千分数 |
\00A4 | 本符号放在数字的前缀或后缀,作为货币记号 |
' | 单引号,当上述特殊符号出现在数字中时,应为特殊符号添加单引号,系统会将此符号作为普通符号处理 |
具体使用方法有俩种,代码如下:
package text;
import java.text.DecimalFormat;
public class NumberFormat {
//使用实例化对象时设置格式化模式
public static void SingleFormat(String pattern , double value){
//实例化DecimalFormat对象
DecimalFormat myFormat = new DecimalFormat(pattern);
String output = myFormat.format(value);
System.out.println("原格式:" + value+";格式规则: "+ pattern + ";处理后格式: " + output);
}
//使用ApplyPattern()方法对数字进行格式化
public static void UseApplyPatternMethodFormat(String pattern,double value){
DecimalFormat myFormat = new DecimalFormat();
myFormat.applyPattern(pattern);
System.out.println("原格式:" + value+";格式规则: "+ pattern + ";处理后格式: " + myFormat.format(value));
}
public static void main(String[] args) {
SingleFormat("###,###.###kg", 123456.789);//给数字加单位
UseApplyPatternMethodFormat("#.###%", 0.789);//转化为百分制
UseApplyPatternMethodFormat("###.##", 123456.789);//保留小数点后俩位
}
}