黑马程序员技术交流社区

标题: 保留两位小数的问题 [打印本页]

作者: Gaara33    时间: 2014-6-12 12:25
标题: 保留两位小数的问题
本帖最后由 Gaara33 于 2014-6-12 18:02 编辑

  1. import java.util.*;
  2. class MathDemo
  3. {
  4.         public static void main(String[] args)
  5.         {

  6.                 show(18.596235);//18.596133的时候打印为18.6,少了一位小数,待解决。
  7.         }
  8.         public static void show(double d)
  9.         {
  10.                 double a = Math.round(d*100);
  11.                 double b = a/100;
  12.                 sop(b);

  13.         }
  14.         public static void sop(Object obj)
  15.         {
  16.                 System.out.println(obj);
  17.         }
  18. }
复制代码


使用了round的四舍五入方法,如果四舍五入后,第二位小数不是0,正好显示两位小数,但是是0 的话,就少显示了一位,该如何解决,请大神指点。。。
作者: 伊甸拾忆    时间: 2014-6-12 14:06
  1. public static void sop(double c)
  2. {
  3.     System.out.println(String.format("%.2f", c));
  4. }
复制代码

作者: axuan    时间: 2014-6-12 15:03
public static void main(String[] args)
        {
                double d=16.467;
                NumberFormat nf=NumberFormat.getInstance();
                nf.setMaximumFractionDigits(2);//设置保留小数的位数
                String s=nf.format(d);//格式化
                System.out.println(s);
        }

作者: Gaara33    时间: 2014-6-12 18:01
伊甸拾忆 发表于 2014-6-12 14:06

很好,多谢
作者: Gaara33    时间: 2014-6-12 18:02
axuan 发表于 2014-6-12 15:03
public static void main(String[] args)
        {
                double d=16.467;

楼上的更简便些,呵呵,多谢了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2