问答详情
源自:3-1 什么是运算符

关于%问题

package com.operator;


public class Operator {

   public static void main(String[] args){

  double num=7.6%2.9;

  System.out.println(num);

   }

}

运行结果是:1.7999999999999998

怎么能使结果变为1.8,double和float怎么能保留自己想要的小数点后几位

提问者:慕斯1379455 2017-05-17 21:19

个回答

  • 光辉随缘
    2017-05-17 23:01:41

    import java.math.BigDecimal;

     

    /**

     * Created by Chen-D.W on 2017/5/17.

     */

    public class Oper {

        public static void main(String[] args){

            double num=7.6%2.9;

            BigDecimal b =new   BigDecimal(num);

            double f1 = b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();

            System.out.println(f1);

        }

    }


  • 慕移动5622948
    2017-05-17 22:56:28

    import java.math.BigDecimal;
    
    /**
     * Created by Chen-D.W on 2017/5/17.
     */
    public class Oper {
        public static void main(String[] args){
            double num=7.6%2.9;
            BigDecimal b =new   BigDecimal(num);
            double f1 = b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
            System.out.println(f1);
        }
    }


  • 慕粉131458276
    2017-05-17 22:46:21

    int num = (int)(7.6%2.9);