bigdecimal
有個專案中前端傳了乙個小數過來,使用json格式傳過來的,我在後端接受後使用了一些常見的型別去接收發現都是出現問題,最後直接把接收的結果的型別列印出來才發現原來是使用bigdecimal。
bigdecimal初始化:
bigdecimal num1 = new bigdecimal(0.05);
bigdecimal num2 = new bigdecimal(100);
bigdecimal num3 = new bigdecimal(-1000);
//盡量用字串的形式初始化
bigdecimal num12 = new bigdecimal("0.05");
bigdecimal num22 = new bigdecimal("10");
bigdecimal num32 = new bigdecimal("-10");
bigdecimal的相關演算法
//加法
bigdecimal result1 = num1.add(num2);
bigdecimal result12 = num12.add(num22);
//減法
bigdecimal result2 = num1.subtract(num2);
bigdecimal result22 = num12.subtract(num22);
//乘法
bigdecimal result3 = num1.multiply(num2);
bigdecimal result32 = num12.multiply(num22);
//絕對值
bigdecimal result4 = num3.abs();
bigdecimal result42 = num32.abs();
//除法
bigdecimal result5 = num2.divide(num1,20,bigdecimal.round_half_up);
bigdecimal result52 = num22.divide(num12,20,bigdecimal.round_half_up);
更多資訊可以參考這兩篇文章: BigDecimal的運算 加減乘除
一 建立乙個bigdecimal物件。這裡對比了兩種形式,第一種直接value寫數字的值,第二種用string來表示 bigdecimal num1 new bigdecimal 0.005 bigdecimal num2 new bigdecimal 1000000 bigdecimal num3...
BigDecimal 加 減 乘 除 比較
bigdecimal 多用於商業計算,或者較大數值得計算 bigdecimal bignum1 newbigdecimal 10 bigdecimal bignum2 new bigdecimal 5 bigdecimal bignum3 null 加法 bignum3 bignum1.add bi...
BigDecimal加減乘除計算
bigdecimal num1 new bigdecimal 0.005 bigdecimal num2 new bigdecimal 1000000 bigdecimal num3 new bigdecimal 1000000 盡量用字串的形式初始化 bigdecimal num12 new bi...