浮點型(float,double):不適合做錢的型別
double n1=0.03;
double n2=0.02;
system.out.println("double計算:"+(n1-n2));
結果為:0.009999999999999998
float f1=0.02f;
float f2=0.01f;
system.out.println("float計算:"+(f1-f2));
結果為:0.01 涉及到型別轉換。
bigdecimal bg=new bigdecimal("0.03");
bigdecimal bg1=new bigdecimal("0.02");
//加法
system.out.println("加法:"+bg.add(bg1));
//減法
system.out.println("減法:"+bg.subtract(bg1));
//乘法
system.out.println("乘法:"+bg.multiply(bg1));
//除法
system.out.println("除法:"+bg.divide(bg1));
結果為: 加法:0.05、減法:0.01、乘法:0.0006、除法:1.5。
mony的精度是4位.
mony的另外乙個好處就是,在匯率轉換
的時候比較方便.並且在顯示的時候,可以多元化.
bigdecimal類是專門為解決浮點數無法精確計算而設計的。並且提供了常用的算術運算方法。特別是與資料庫decimal對映時,bigdecimal是最優方案。
專案中應該避免的情況
1.測試過程中不加思考的機械性測試執行。測試就像建築一樣,先打好圖紙,然後在施工。測試的過程中應該多思考,而不是悶頭呆板的執行。測試的過程中,雖然我們巨集觀上有三輪的指導,但是我們應該將任務加以細化,具體到功能模組,每天分配合理的任務量。2.自以為正確 專案測試的過程中遇到自己解決不了,不確定的事情...
專案中錯誤型別的定義和思考
現在開發業務都是微服務,api呼叫rpc,rpc之間互相呼叫。除了常規的鏈結失敗或超時以外,還有很多業務上的錯誤。為了使返回的錯誤碼容易判斷和查錯,通常會靠乙個統一定義的錯誤 對映表。其實我們平時http的各種錯誤碼也就是乙個對映表。有一種做法是 裡寫死乙個對映表檔案,每次有新增去修改這個檔案。但是...
123 專案中快取資料的型別
在設計快取的資料時,可以快取以下型別的資料 例如如 user enable 以資料庫物件的角度考慮,應用更普遍 例如,使用者的基本資訊 user user.query.filter by id 1 first user user物件 以資料庫查詢的角度考慮,應用場景較特殊,一般僅針對較複雜的查詢進行...