Java util Double型別運算

2021-08-27 17:24:15 字數 2587 閱讀 5746

public class arithmetic4double    

* 實現浮點數的加法運算功能  

* @param v1 加數1  

* @param v2 加數2  

* @return v1+v2的和  

public static double add(double v1,double v2) {    

bigdecimal b1 = new bigdecimal(double.tostring(v1));    

bigdecimal b2 = new bigdecimal(double.tostring(v2));    

return b1.add(b2).doublevalue();    

* 實現浮點數的減法運算功能  

* @param v1 被減數  

* @param v2 減數  

* @return v1-v2的差  

public static double sub(double v1,double v2) {    

bigdecimal b1 = new bigdecimal(double.tostring(v1));    

bigdecimal b2 = new bigdecimal(double.tostring(v2));    

return b1.subtract(b2).doublevalue();    

* 實現浮點數的乘法運算功能  

* @param v1 被乘數  

* @param v2 乘數  

* @return v1×v2的積  

public static double multi(double v1,double v2) {    

bigdecimal b1 = new bigdecimal(double.tostring(v1));    

bigdecimal b2 = new bigdecimal(double.tostring(v2));    

return b1.multiply(b2).doublevalue();    

* 實現浮點數的除法運算功能  

* 當發生除不盡的情況時,精確到小數點以後def_div_scale位(預設為10位),後面的位數進行四捨五入。  

* @param v1 被除數  

* @param v2 除數  

* @return v1/v2的商  

public static double div(double v1,double v2) {    

bigdecimal b1 = new bigdecimal(double.tostring(v1));    

bigdecimal b2 = new bigdecimal(double.tostring(v2));    

return b1.divide(b2,def_div_scale,bigdecimal.round_half_up).doublevalue();    

* 實現浮點數的除法運算功能  

* 當發生除不盡的情況時,精確到小數點以後scale位,後面的位數進行四捨五入。  

* @param v1 被除數  

* @param v2 除數  

* @param scale 表示需要精確到小數點以後幾位  

* @return v1/v2的商  

public static double div(double v1,double v2,int scale) {    

if (scale < 0) {    

throw new illegalargumentexception(    

"the scale must be a positive integer or zero");    

bigdecimal b1 = new bigdecimal(double.tostring(v1));    

bigdecimal b2 = new bigdecimal(double.tostring(v2));    

return b1.divide(b2,scale,bigdecimal.round_half_up).doublevalue();    

* 提供精確的小數字四捨五入功能  

* @param v 需要四捨五入的數字  

* @param scale 小數點後保留幾位  

* @return 四捨五入後的結果  

public static double round(double v,int scale) {    

if (scale < 0) {    

throw new illegalargumentexception(    

"the scale must be a positive integer or zero");    

bigdecimal b = new bigdecimal(double.tostring(v));    

bigdecimal one = new bigdecimal("1");    

return b.divide(one,scale,bigdecimal.round_half_up).doublevalue();    

類值類與類指標類

類值類 行為像值的 class a a const a a ps new string a.ps i a.i 每個類物件有自己的乙份資源拷貝 a operator const a rhs a private string ps int i 一種優化拷貝賦值運算子的方法 copy and swap c...

巢狀類 匿名類 密封類

巢狀類 在c 中可以將乙個類定義在另乙個類的內部,外部的叫外部類,內部的巢狀類 namespace 27 set public void hello 巢狀類 public class web webname,weburl class program 匿名類 如果某個類的例項物件只會使用到一次,可以使...

點類,圓類,圓柱類

print?copyright c 2012,煙台大學計算機學院 all rights reserved.檔名稱 text.cpp 作 者 胡穎 完成日期 2013年5月20日 版 本 號 v1.0 輸入描述 無 問題描述 1 先建立乙個point 點 類,包含資料成員x,y 座標點 2 以poin...