JAVA数字处理类
数字格式化
在Java中使用java.text.DecimalFormat格式化数字。DecimalFormat用于格式化十进制数字,可以为要输出的数字加上单位或控制数字的精度。
一般情况下有两种方式:
- 在实例化.DecimalFormat对象时传递数字格式;
- 通过.DecimalFormat类中的applyPattern()实现;
字符 | 说明 |
---|---|
0 | 代表阿拉伯数字,使用特殊字符 “0” 表示数字的一位阿拉伯数字,如果该位不存在数字,则显示0 |
# | 代表阿拉伯数字,使用特殊字符 “#” 表示数字的一位阿拉伯数字,如果该位存在数字,则显示字符;如果该位不存在数字,则不显示 |
. | 小数分隔符或货币小数分隔符 |
- | 负号 |
, | 分组分隔符 |
E | 分隔科学记数法中的尾数和指数 |
% | 本符号放置在数字的前缀或后缀,将数字乘以100显示为百分数 |
\u2030 | 本符号放置在数字的前缀或后缀,将数字乘以1000显示为千分数 |
\u00A4 | 本符号放置在数字的前缀或后缀,作为货币记号 |
’ | 本符号为单引号,当上述特殊字符出现在数字中时,应为特殊符号添加单引号,系统会将此符号视为普通符号处理 |
实例:
import java.text.*;
public class DecimalFormatSimpleDemo {
// 使用实例化对象时设置格式化模式
static public void SimgleFormat(String pattern, double value) {
// 实例化DecimalFormat对象
DecimalFormat myFormat = new DecimalFormat(pattern);
String output = myFormat.format(value); // 将数字进行格式化
System.out.println(value + " " + pattern + " " + output);
}
// 使用applyPattern()方法对数字进行格式化
static public void UseApplyPatternMethodFormat(String pattern, double value) {
DecimalFormat myFormat=new DecimalFormat();//实例化DecimalFormat对象
myFormat.applyPattern(pattern); // 调用applyPatten()方法设置格式化模板
System.out
.println(value + " " + pattern + " " + myFormat.format(value));
}
public static void main(String[] args) {
// 调用静态SimgleFormat()方法
SimgleFormat("###,###.###", 123456.789);
SimgleFormat("00000000.###kg", 123456.789); // 在数字后加上单位
// 按照格式模板格式化数字,不存在的位以0显示
SimgleFormat("000000.000", 123.78);
// 调用静态UseApplyPatternMethodFormat()方法
UseApplyPatternMethodFormat("#.###%", 0.789); // 将数字转换为百分数形式
// 将小数点后格式化为两位
UseApplyPatternMethodFormat("###.##", 123456.789);
// 将数字转化为千分数形式
UseApplyPatternMethodFormat("0.00\u2030", 0.789);
// 添加货币单位
UseApplyPatternMethodFormat("\u00A4 0.00",0.789);
}
}
结果: