Java中如何保留小数点后几位数字 | 您所在的位置:网站首页 › 计算器显示不了小数点后的数字是怎么了 › Java中如何保留小数点后几位数字 |
保留小数点后几位数字
对于一些Java的初学者(博主也只算平民级别,以下是我的见解,可能有小错误,有错莫怪),如何保留一个double型小数点后固定的位数很是让人苦恼,因为我刚学的时候不知道如何保留小数点后几位。下面是我的一些方法。 第一种方法:格式化输出这种方法大家已经见怪不怪了,学过C语言的同学都知道这中输出方法在C中很常用,其实在Java中,这种方法也可以使用。比如看下面的代码。 public class SavePoint { public static void main(String[] args) { double a=7.0/3; System.out.println(a); //第一种方法 System.out.printf("%.2f\n",a); } }输出的结果为: 2.3333333333333335 2.33 从结果上看,该方法可行。 下面来介绍第二种方法。 第二种方法:DecimalFormat类这种方法对于初学者来说不常用,因为这种方法牵扯到了一个类的使用。代码如下: public class SavePoint { public static void main(String[] args) { double a=7.0/3; System.out.println(a); //第二种方法 DecimalFormat d=new DecimalFormat("#.00"); System.out.println(d.format(a)); } }输出的结果和上面一样。同样可以输出保留小数点后两位。这种方法还可以优化。 public class SavePoint { public static void main(String[] args) { double a=7.0/3; System.out.println(a); //第二种方法 System.out.println(new DecimalFormat("#.00").format(a)); } }输出结果为: 2.3333333333333335 2.33 这两种输出方式其实都用了DecimalFormat类,本质还是一样的,只不过第二种比较简单。 第三种方法:“运算输出”有些同学觉得以上两种方法太麻烦,而且自己也不喜欢格式化输出(其实博主也不喜欢格式化输出,受到了当时在ACM总是格式化输出的影响,因此有些hate这种方法),什么方法不重要,哪种适合自己的方法才是最好的方法。来看代码 public class SavePoint { public static void main(String[] args) { double a=7.0/3; System.out.println(a); //第三种方法 System.out.println((int)(a*100)/100.0); } }输出结果为: 2.3333333333333335 2.33 可知结果和上面两种方法输出的一样。博主一般情况也喜欢这种方法,因为比较简单明确,更适合理解。如果想要自己代码的逼格高一点可以使用第二种方法。 欢迎各位采纳,如需转载请附本链接。 |
CopyRight 2018-2019 实验室设备网 版权所有 |