设为首页 加入收藏

TOP

Java格式化输出数字
2014-11-23 22:03:18 】 浏览:299
Tags:Java 格式 输出 数字

  在实际工作中,常常需要设定数字的输出格式,如以百分比的形式输出,或者设定小数位数等,现稍微总结如下。


  主要使用的类:java.text.DecimalFormat


  1。实例化对象,可以用如下两种方法:


  DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();


  DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();


  因为DecimalFormat继承自NumberFormat。


  2。设定小数位数


  系统默认小数位数为3,如:


  DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();


  System.out.println(df.format(12.3456789));


  输出:12.346


  现在可以通过如下方法把小数为设为两位:


  df.setMaximumFractionDigits(2);


  System.out.println(df.format(12.3456789));


  则输出为:12.35


  3。将数字转化为百分比输出,有如下两种方法:


  (1)


  df.applyPattern("##.##%");


  System.out.println(df.format(12.3456789));


  System.out.println(df.format(1));


  System.out.println(df.format(0.015));


  输出分别为:1234.57% 100% 1.5%


  (2)


  df.setMaximumFractionDigits(2);


  System.out.println(df.format(12.3456789*100)+"%");


  System.out.println(df.format(1*100)+"%");


  System.out.println(df.format(0.015*100)+"%");


  输出分别为:


  1,234.57% 100% 1.5%


  4。设置分组大小


  DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();


  df1.setGroupingSize(2);


  System.out.println(df1.format(123456789));


  输出:1,23,45,67,89


  还可以通过df1.setGroupingUsed(false);来禁用分组设置,如:


  DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();


  df1.setGroupingSize(2);


  df1.setGroupingUsed(false);


  System.out.println(df1.format(123456789));


  输出:123456789


  5。设置小数为必须为2位


  DecimalFormat df2=(DecimalFormat) DecimalFormat.getInstance();


  df2.applyPattern("0.00");


  System.out.println(df2.format(1.2));


  输出:1.20


  有时我们需要控制输出的数字的格式,如何使用java的类库做到这个呢?


  也许你不关心格式,但是你需要关心你的程序可以在全世界通用,像下面的这样一个简单的语句是依赖地区的:


  System.out.println(1234.56);


  在美国,"." 是小数点,但在其它地方就不一定了。如何处理这个呢?


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇out.println()与<%=%>的比较 下一篇二级考试JAVA技巧(Eex下拉树例子)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目