9.1数字格式化
数字格式化在解决实际问题时十分普遍。数字格式化操作主要针对的是浮点型数据,包括double和float型的数据,在java中使用java.text.DecimalFormat格式化数字
在java中没有格式化的数据遵循以下原则:
若数据绝对值大于0.001并且小于10000000,是以常规小数形式表述
若数据绝对值小于0.001并且大于10000000,使用科学计数法表示
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。它可以将一些数字格式化为整数,浮点数,百分数等。通过使用该类可以为要输出的数字上加上单位或控制数字的精度,一般情况下可以在实例化DecimalFloat对象时传递数字格式,也可通过DecimalFloat类中的applyPattern()方法来实现数字格式化
当格式数字时,在DecimalFloat类中使用一些特殊字符构成一个格式化模板,使数字按照一定的特殊字符格式进行匹配。
说明:特殊字符及所代表的含义
符号 含义
0 阿拉伯数字
阿拉伯数字如果不存在就显示为空
. 小数分隔符或货币小数分隔符
-
减号
, 分组分隔符
E 分割科学技术法中的尾数和指数。在前缀和后缀中无需添加引号
; 分隔正数和负数子模式
% 乘以100并显示为百分数
/u2030 乘以1000并显示为千分数
\u00A4 货币记号,由货币符号替换。如果两个同时出现,则用国际货币符号替换。如果出现在某个模式中,则使用货币小数分隔符,而不使用小数分隔符
’ 用于在前缀或或后缀中为特殊字符加引号,例如 “’#’#” 将 123 格式化为 “#123”。要创建单引号本身,请连续使用两个单引号:"# o’'clock"