DecimalFormat用法

DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。

DecimalFormat 包含一个模式 和一组符号

  符号含义:
  0 一个数字
  # 一个数字,不包括 0
  . 小数的分隔符的占位符
  , 分组分隔符的占位符
  ; 分隔格式。
  - 缺省负数前缀。
  % 乘以 100 和作为百分比显示
  ? 乘以 1000 和作为千进制货币符显示;用货币符号代替;如果双写,用
  国际货币符号代替。如果出现在一个模式中,用货币十进制分隔符代
  替十进制分隔符。
  X 前缀或后缀中使用的任何其它字符,用来引用前缀或后缀中的特殊字符。
  例子:

        DecimalFormat df1 = new DecimalFormat("0.0");
        DecimalFormat df2 = new DecimalFormat("#.#");

        DecimalFormat df3 = new DecimalFormat("000.000");
        DecimalFormat df4 = new DecimalFormat("###.###");

        DecimalFormat df5=new DecimalFormat("#.000");
        DecimalFormat df6 = new DecimalFormat("#.##");

        System.out.println("-----------结果:");
        System.out.println(df1.format(12.34));
        System.out.println(df2.format(12.34));
        System.out.println(df3.format(12.34));
        System.out.println(df4.format(12.34));

        System.out.println(df5.format(12.34));
        System.out.println(df6.format(12.34));

        DecimalFormat df7=new DecimalFormat("0.0##");
        System.out.println(df7.format(111));

-----------结果:
12.3
12.3
012.340
12.34
12.340
12.34
111.0
符号含义: 
符号  位置  本地化?    含义
0   数字  是   阿拉伯数字
#   数字字 是   阿拉伯数字,如果不存在则显示为空
.   数字  是   小数分隔符或货币小数分隔符
-   数字  是   减号
,   数字  是   分组分隔符
E   数字  是   分隔科学计数法中的尾数和指数。在前缀或后缀中无需加引号。
;   子模式边界   是   分隔正数和负数子模式
%   前缀或后缀   是   乘以 100 并显示为百分数
/u2030  前缀或后缀   是   乘以 1000 并显示为千分数
¤(/u00A4)   前缀或后缀   否   货币记号,由货币符号替换。如果两个同时出现,则用国际货币符号替换。如果出现在某个模式中,则使用货币小数分隔符,而不使用小数分隔符。
'   前缀或后缀   否   用于在前缀或或后缀中为特殊字符加引号,例如 "'#'#"123 格式化为 "#123"。要创建单引号本身,请连续使用两个单引号:"# o''clock"

总结

 DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。上面的例子包含了差不多所有的基本用法。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值