精华内容
下载资源
问答
  • Java中double保留两位小数的各种方法

    千次阅读 2020-09-10 21:05:03
    目录一、使用BigDecimal的setScale方法二、使用Sting自带的format方法三、使用NumberFormat设置最大小数位数四、使用DecimalFormat,#.00为保留两位小数 一、使用BigDecimal的setScale方法 double one = 5.864; ...

    一、使用BigDecimal的setScale方法

    double one = 5.864;
    BigDecimal two = new BigDecimal(one);
    double three = two.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
    

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

    二、使用Sting自带的format方法

    double one = 5.864;
    String  str = String.format("%.2f",one);
    double four = Double.parseDouble(str);
    

    三、使用NumberFormat设置最大小数位数

    double d = 5.864
    NumberFormat nf = NumberFormat.getNumberInstance();
    // 保留两位小数
    nf.setMaximumFractionDigits(2); 
     // 如果不需要四舍五入,可以使用RoundingMode.DOWN
    nf.setRoundingMode(RoundingMode.UP);
    System.out.println(nf.format(d));
    

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

    四、使用DecimalFormat,#.00为保留两位小数

    import java.text.DecimalFormat;
    
    double f = 5.864;
    DecimalFormat df = new DecimalFormat("#.00");
    System.out.println(df.format(f));
    
    展开全文
  • Java中double保留两位小数的四种方法

    千次阅读 2020-05-02 17:55:37
    一、使用BigDecimal的setScale方法 double one = 5.26419; BigDecimal two = new ...double three = two.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); 二、使用DecimalFormat double one = 5.26419...

    一、使用BigDecimal的setScale方法

    double one = 5.26419;
    BigDecimal two = new BigDecimal(one);
    double three = two.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();

    二、使用DecimalFormat

    double one = 5.26419;
    DecimalFormat format = new DecimalFormat("#.00");
    String str = format.format(one);
    double four = Double.parseDouble(str);

    三、使用Sting自带的format方法

    double one = 5.26419;
    String  str = String.format("%.2f",one);
    double four = Double.parseDouble(str);

    四、使用NumberFormat设置最大小数位数

    double one = 5.26419;
    NumberFormat format = NumberFormat.getInstance();
    format.setMaximumFractionDigits(2);
    String  str = format.format(one);
    double two = Double.parseDouble(str);

     

    展开全文
  • Java中double类型保留两位小数

    千次阅读 2016-08-27 17:39:29
    java中double类型的小数经常会有小数点后边保留一位小数或者保留两位小数的需求。 javaAPi中提供了一个专门的类BigDecimal,用来对超过16位有效位的数进行精确的运算。 使用步骤: //定义一个double类型的数字 ...
    • java中对double类型的小数经常会有小数点后边保留一位小数或者保留两位小数的需求。
    • javaAPi中提供了一个专门的类BigDecimal,用来对超过16位有效位的数进行精确的运算。
    • 使用步骤:
        //定义一个double类型的数字
        double number = 3.25;
        //先将double类型的数字转换为BigDecimal类型。
        BigDecimal bigDecimal = new BigDecimal(number);
            //调用BigDecimal的     setScale(int newScale, int roundingMode)方法
            //参1指保留几位小数   参2 指舍位时候的模式
            //远离0的模式   3.21--> 3.3
            BigDecimal scaleNumber1 = bigDecimal.setScale(1, BigDecimal.ROUND_UP);
            //接近0的模式  3.21--> 3.2
            BigDecimal scaleNumber2 = bigDecimal.setScale(1, BigDecimal.ROUND_DOWN);
            //接近正无穷大的模式  3.21--> 3.3
            BigDecimal scaleNumber3 = bigDecimal.setScale(1, BigDecimal.ROUND_CEILING);
            //接近负无穷大的模式  3.21--> 3.2
            BigDecimal scaleNumber4 = bigDecimal.setScale(1, BigDecimal.ROUND_FLOOR);
            //56入的模式        3.21--> 3.2     3.25-->3.2  3.26-->3.3
            BigDecimal scaleNumber5 = bigDecimal.setScale(1, BigDecimal.ROUND_HALF_DOWN);
            //45入的模式        3.24--> 3.2     3.25--> 3.3
            BigDecimal scaleNumber6 = bigDecimal.setScale(1, BigDecimal.ROUND_HALF_UP);
    
            System.out.println(scaleNumber1);
            System.out.println(scaleNumber2);
            System.out.println(scaleNumber3);
            System.out.println(scaleNumber4);
            System.out.println(scaleNumber5);
            System.out.println(scaleNumber6);
    • 根据自己的需求来确定小数点的位数即可。
    • 下面是api中模式的解释。

    mode

    展开全文
  • package com.sinosoft.demo.controller; import java.math.BigDecimal; import java.text.DecimalFormat; ...import java.text.NumberFormat;...//java中如何使Double类型的数值保留两位小数问题 public
    package com.sinosoft.demo.controller;

    import java.math.BigDecimal;
    import java.text.DecimalFormat;
    import java.text.NumberFormat;

    public class Computer {
    //java中如何使Double类型的数值保留两位小数问题
    public static void main(String[] args) {
    Double dou = 3000.533;  
    dou = (double)Math.round(dou*100)/100; 
    System.out.println("1.  "+dou);

    Double dou1 = 3000.529888;  
    dou1 = (double)Math.round(dou1*10000)/10000; //同理保留四位小数就不用说了吧 
    System.out.println("2.  "+dou1);

    //二、第二种方法  
    double d = 111231.5585;   
    BigDecimal b = new BigDecimal(d);
    double df = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
    System.out.println("3.  "+df);

    //三、第三种方法  
    double a=10000;//要用double型,要不a/b永远得0;   
    double m=20000;   
    NumberFormat nbf=NumberFormat.getInstance();  
    nbf.setMinimumFractionDigits(2);   
    String c = nbf.format(a/m); 
    System.out.println("4.  "+c);

    /** 
             * DecimalFormat转换最简便 
            */  
    double f = 111231.5585;  
    DecimalFormat df1 = new DecimalFormat("#.00");  
    System.out.println("5.  "+df1.format(f));  
    /** 
             * String.format打印最简便 
            */  
    System.out.println("6.  "+String.format("%.2f", f)); 

    NumberFormat nf = NumberFormat.getNumberInstance();  
             nf.setMaximumFractionDigits(2);  
             System.out.println("7.  "+nf.format(f));  
    }

    }

    结果:

    1.  3000.53
    2.  3000.5299
    3.  111231.56
    4.  0.50
    5.  111231.56
    6.  111231.56
    7.  111,231.56



    展开全文
  • import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class KeepTwoFraction {//保留两位小数 public static void main... // double数据保留两位小数 //
  • Java中double类型小数保留两位小数解决方法方法一(DecimalFormat方法)方法二(Math.round()方法)总结 方法一(DecimalFormat方法) double a = 2.3333; DecimalFormat df = new DecimalFormat(".00"); System.out...
  • 本文参考自:... java保留两位小数问题,以下解决方案都是四舍五入的: 方式一: double f = 111231.5585; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDe...
  • 转自https://blog.csdn.net/guo_love_peng/article/details/7739455 转自...java保留两位小数问题: 方式一: 四舍五入 double f = 111231.5585; BigDecimal b ...
  • int orgShare = 0; // 定义int double percent = Double.valueOf(orgShare)/Double.valueOf(allShare);... // double 进行 转换 保留小数 courseBuildPieChartVOList.get(i).setSharePercent(String.valueOf(perc.
  • Java中数字保留两位小数

    万次阅读 2019-05-20 15:22:44
    Java中数字保留小数Double...下列代码表示保留两位小数并且四舍五入的双精度类型数据处理。 Double num = 69.26345; BigDecimal bd = new BigDecimal(num); num = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleV...
  • import java.math.BigDecimal; import java.math.RoundingMode; /** * @Description: * @author: ZhangKaiXuan * @create: 2019-06-28 下午 5:24 ... * Double类型 (保留两位小数 四舍五入) * @param d
  • Java中保留两位小数

    万次阅读 2019-09-09 19:53:05
    保留两位小数 //s2是要保留两位小数的数,%.2f 指的是保留两位小数 double s1 = String.format("%.2f",s2)
  • double num = 15.6789; BigDecimal decimalNum = new BigDecimal(num); double doubleNum = decimalNum.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 注意一点: ...
  • Java DecimalFormat dcmFmt = new DecimalFormat("0.00"); double db = 12333.353; System.out.println(dcmFmt.format(db)); JS <script type="text/javascript"> //保留两位小数 //功能:将...
  • 使用BigDecimal,保留小数点后两位 public static String format1(double value) { BigDecimal bd = new BigDecimal(value); bd = bd.setScale(2, RoundingMode.HALF_UP); return bd.toString(); } 使用...
  • Java中Double保留小数位的几种方法

    千次阅读 2019-12-18 11:42:56
    其中一部分要求将表单提交的数据转换为double,这个功能其实很简单直接一句Double.parseDouble(request.getParameter(“chinese”).trim())就可以实现,但因为是统计成绩,所以需要保留小数点后两位,所以各种百度...
  • 总结:java除法保留两位小数

    万次阅读 2015-12-23 14:49:06
    java除法保留两位小数java中,当两个整数相除时,由于小数点以后的数字会被截断,运算结果将为整数,此时若希望得到运算结果为浮点数, 必须将两整数其一或是两者都强制转换为浮点数。因为int 是整数,整数除...
  • 使double保留两位小数

    2017-04-06 10:25:43
    Java中 DecimalFormat df = new DecimalFormat("######0.00");  double d1 = 3.23456  double d2 = 0.0; double d3 = 2.0; df.format(d1);  df.format(d2);  df.format(d3); sql中:to_char(sala
  • setScale方法,第一个参数可选1或2,3以及大于3都还是保留两位小数 2.String.format System.out.println(String.format("%.2f", rec2.getArea())); 便于输出,%后面的数字即为要保留的小数位数 ...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 240
精华内容 96
关键字:

java中double保留两位小数

java 订阅