当前位置:   article > 正文

Java中关于保留小数点后几位(可以四舍五入的)的方法_java保留四位小数

java保留四位小数

在实际开发中,我们相对一些除法后的结果进行简单的输出,或者定制型的显示效果,下面几种方法供参考(全文以保留两位小数为例):

一、格式化保留小数方法

1. 格式化printf输出

对于学过c语言的同学来说,这种方法见怪不怪了!
主要使用printf来格式化输出:

        double ll =len/(1024*1024.0);
        System.out.println("文件大小为"+ll+"MB");//36.364097595214844
        System.out.printf("%.2f",ll);//33.36
  • 1
  • 2
  • 3

2.DecimalFormat类

这种方法对于初学者来说不常用,因为这种方法牵扯到了DecimalFormat类的使用,所以不够友好

        DecimalFormat d = new DecimalFormat("#.00");
        System.out.println(d.format(ll));//36.36
  • 1
  • 2

3.通过运算输出

通过计算,让小数点后移几位,保留整型,然后再除以后移的位数,所得结果是刚好想要保留的位数

  System.out.println((int)(ll*100)/100.0);//36.36
  • 1

以上不能保证四舍五入,如需四舍五入精确值,继续往下:

二、四舍五入保留2位小数为例

(1).使用BigDecimal

下面代码中: 
public BigDecimal setScale(int newScale, int roundingMode) // newScale 为小数点后保留的位数, roundingMode 为变量进行取舍的方式;
  BigDecimal.ROUND_HALF_UP 属性含义为为四舍五入

double f = 3.1415;
BigDecimal bd = new BigDecimal(f);
double f1 = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 
输出结果f1为 3.14
  • 1
  • 2
  • 3
  • 4
  • 5
(2).DecimalFormat类使用

#.00 表示两位小数 #.0000四位小数 以此类推…

String format = new DecimalFormat("#.0000").format(3.1415926);
System.out.println(format);
输出结果为 3.1416

  • 1
  • 2
  • 3
  • 4
(3).String.Format方法

%.2f 中 %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型。

double num = 3.1415926;
String result = String.format("%.4f", num);
System.out.println(result);
输出结果为:3.1416

  • 1
  • 2
  • 3
  • 4
  • 5
(4).

最后乘积的0.01d表示小数点后保留的位数(四舍五入),0.0001 为小数点后保留4位,以此类推…

double num = Math.round(3.141592 * 100) * 0.01d;
System.out.println(num);
输出结果为:3.14

  • 1
  • 2
  • 3
  • 4

如需转载,请注链接!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/641386
推荐阅读
相关标签
  

闽ICP备14008679号