天天看點

代碼優化--用BigDecimal類型進行精确計算

采用浮點型:

public class Before {

    public static void main(String args[]){

        System.out.print(99.00-88.90);

 }

}

輸出結果:10.099999999999994

使用BigDecimal類:

import java.math.BigDecimal;

import java.text.DecimalFormat;

import java.text.NumberFormat;

public class After {

    public static void main(String args[]){

        BigDecimal b1=new BigDecimal(99.00);

        BigDecimal b2=new BigDecimal(88.90);

        NumberFormat nf=new DecimalFormat("#.##");

        System.out.print(nf.format(b1.subtract(b2)));

 }

}

輸出結果:10.1

啟示:在書上的代碼中,沒有引入相應的包,會提示出現錯誤,按照要求引入即可。盡信書不如無書。複制粘貼與對照書敲代碼的差別在于鼓勵自己去積極思考。BigDecimal 類型是我第一次接觸。感覺對一些要求精确計算的業務是很有幫助的。趁着疫情這段時間,好好在家睡覺、吃飯、敲代碼。待春暖花開,柳暗花明的時候,我也能迎來我職業生涯的春天。

繼續閱讀