您现在的位置是:网站首页>>信息浏览 文章详情

保留Java中Double小数点后几位的几种方法
2019-05-05 13:15 许多年以后 735

Java在开发统计过程中,我们先用double类型的数据计算各种结果,然后这些结果我们又要保留小数点后几位,所以在这记录java是如何保留小数点后几位和四舍五入的几种方法。
返回double型的
1.能四舍五入

  1. double d = 114.145;
  2. d = (double) Math.round(d * 100) / 100;
  3. System.out.println(d);

2.BigDecimal.ROUND_HALF_UP表示四舍五入,BigDecimal.ROUND_HALF_DOWN也是五舍六入,BigDecimal.ROUND_UP表示进位处理(就是直接加1),BigDecimal.ROUND_DOWN表示直接去掉尾数。

  1. double d = 114.145;
  2. BigDecimal b = new BigDecimal(d);
  3. d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
  4. System.out.println(d);

返回String型的
1.#.00表示保留后两位,它的处理方式是直接截掉不要的尾数,不四舍五入。

  1. double d = 114.145;
  2. DecimalFormat df = new DecimalFormat("#.00");
  3. String str = df.format(d);
  4. System.out.println(str);

2.%.2f表示保留后两位,能四舍五入。

  1. double d = 114.145;
  2. String.format("%.2f", d);

3.RoundingMode.HALF_DOWN表示 五舍六入,负数先取绝对值再五舍六入再负数,RoundingMode.HALF_UP:表示四舍五入,负数先取绝对值再五舍六入再负数。

  1. double d = 114.145
  2. NumberFormat nf = NumberFormat.getNumberInstance();
  3. // 保留两位小数
  4. nf.setMaximumFractionDigits(2);
  5. // 如果不需要四舍五入,可以使用RoundingMode.DOWN
  6. nf.setRoundingMode(RoundingMode.UP);
  7. System.out.println(nf.format(d));
赞 (94)
文章出处:书生个人博客          转载注明下哦!o(≧v≦)o~~

标签: Java保留小数点后几位

相似文章:


随便说两句
请先登录
遵守国家法律法规,请勿回复无意义内容,请不要回复嵌套过多的楼层!