加入收藏 收藏网站 设为首页 设为首页
招生考试网
学历类| 阳光高考 研 究 生 自学考试 成人高考 专 升 本 中考会考 外语类| 四 六 级 职称英语 商务英语 公共英语 日语能力
资格类| 公 务 员 报 关 员 银行从业 司法考试 导 游 证 教师资格 财会类| 会 计 证 经 济 师 会计职称 注册会计 税 务 师
工程类| 一级建造 二级建造 造 价 师 造 价 员 咨 询 师 监 理 师 医学类| 卫生资格 执业医师 执业药师 执业护士 国际护士
计算机| 等级考试 软件水平 应用能力 其它类| 书画等级 美国高考 驾 驶 员 书法等级 少儿英语 报 检 员 单 证 员 出国留学
 招生考试网 - 计算机等级考试 - 考试辅导 - 正文

 
Java格式化输出数字
来源:fjzsksw.com 2009-12-3 编辑:yangmeiling 【字体:小 大】

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

  主要使用的类: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);

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



 
  • 上一个文章:

  • 下一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系.
    最新文章
    热门文章

    报名考试
    全国 | 黑龙江 | 吉林 | 辽宁 | 内蒙古
    青海 | 宁夏 | 甘肃 | 新疆 | 陕西
    西藏 | 北京 | 天津 | 河北 | 山东
    江苏 | 安徽 | 河南 | 上海 | 浙江
    福建 | 广东 | 山西 | 湖南 | 湖北
    江西 | 广西 | 海南 | 云南 | 贵州
    四川 | 重庆
    分省高校计算机考试
    黑龙江 | 吉林 | 辽宁 | 内蒙古 | 河北
    北京 | 天津 | 新疆 | 甘肃 | 宁夏
    青海 | 陕西 | 山西 | 河南 | 山东
    江苏 | 安徽 | 浙江 | 福建 | 广东
    海南 | 广西 | 江西 | 湖北 | 湖南
    四川 | 上海 | 重庆 | 贵州 | 云南
    西藏
    成绩查询
    报考指南
    试题答案
    模拟试题
    考试辅导
    计算机一级 | 计算机二级 | 计算机三级 | 计算机四级
    经验交流
    高校计算机