Cálculos numéricos con BigDecimal

package class01.object01;

import java.math.BigDecimal;

/**
 * 
 * @create 2021-02-24 15:19
 */
public class Demo06 {
    
    
    public static void main(String[] args) {
    
    
        double d1=1.0;
        double d2=0.9;
        System.out.println(d1-d2);//0.09999999999999998,double是近似值存储

        //BigDecimal,大的浮点数精确计算
        BigDecimal bd1 = new BigDecimal("1.0");
        BigDecimal bd2 = new BigDecimal("0.9");
        //减法
        BigDecimal r1=bd1.subtract(bd2);
        System.out.println(r1);

        //加法
        BigDecimal r2=bd1.add(bd2);
        System.out.println(r2);

        //乘法
        BigDecimal r3=bd1.multiply(bd2);
        System.out.println(r3);

        //除法
        BigDecimal r4=new BigDecimal("1.4").subtract(new BigDecimal("0.5")).divide(new BigDecimal("0.9"));
        System.out.println(r4);

        BigDecimal r5=new BigDecimal("10").divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP);
        System.out.println(r5);

    }
}

Nota: En caso de una división inagotable, utilice devede (, int scal, modo de modo de redondeo).
Parámetro scal: especifique la precisión a unos pocos decimales.
Modo de parámetro: especifique el modo de redondeo: ROUND_HALF_UP (redondeo)

Supongo que te gusta

Origin blog.csdn.net/qq_43021902/article/details/114024622
Recomendado
Clasificación