91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中BigDecimal基本運算的示例分析

發布時間:2021-08-20 09:37:06 來源:億速云 閱讀:120 作者:小新 欄目:編程語言

小編給大家分享一下Java中BigDecimal基本運算的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

BigDecimal一共有4個夠造方法,讓來看看其中比較常用的兩種用法:

第一種:BigDecimal(double val)

Translates a double into a BigDecimal.

第二種:BigDecimal(String val)

Translates the String repre sentation of a BigDecimal into a BigDecimal.

使用BigDecimal要用String來夠造,要做一個加法運算,需要先將兩個浮點數轉為String,然后夠造成BigDecimal,在其中一個上調用add方法,傳入另一個作為參數,然后把運算的結果(BigDecimal)再轉換為浮點數。

public static double add(double v1,double v2)
public static double sub(double v1,double v2)
public static double mul(double v1,double v2)
public static double div(double v1,double v2)
public static double div(double v1,double v2,int scale)
public static double round(double v,int scale)

基本使用:

public class Arith{
 
 private static final int DEF_DIV_SCALE = 10; //這個類不能實例化 
 
 private Arith(){ 
  
 } 
 
 /** 
 * 提供精確的加法運算。 
 * @param v1 被加數 
 * @param v2 加數 
 * @return 兩個參數的和 
 */ 
 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 兩個參數的差 
 */ 
 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 兩個參數的積 
 */ 
 public static double mul(double v1,double v2){ 
  BigDecimal b1 = new BigDecimal(Double.toString(v1)); 
  BigDecimal b2 = new BigDecimal(Double.toString(v2)); 
  return b1.multiply(b2).doubleValue(); 
 } 
 
 /** 
 * 提供(相對)精確的除法運算,當發生除不盡的情況時,精確到 
 * 小數點以后10位,以后的數字四舍五入。 
 * @param v1 被除數 
 * @param v2 除數 
 * @return 兩個參數的商 
 */ 
 public static double div(double v1,double v2){ 
  return div(v1,v2,DEF_DIV_SCALE); 
 } 
 
 /** 
 * 提供(相對)精確的除法運算。當發生除不盡的情況時,由scale參數指 
 * 定精度,以后的數字四舍五入。 
 * @param v1 被除數 
 * @param v2 除數 
 * @param scale 表示表示需要精確到小數點以后幾位。 
 * @return 兩個參數的商 
 */ 
 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(); 
 } 
}

看完了這篇文章,相信你對“Java中BigDecimal基本運算的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沙河市| 弋阳县| 镇赉县| 娄底市| 塔城市| 孟村| 清镇市| 普宁市| 淮南市| 怀远县| 涞源县| 会东县| 穆棱市| 平塘县| 漠河县| 富顺县| 陵川县| 福鼎市| 三原县| 陈巴尔虎旗| 白沙| 安丘市| 拉孜县| 寿宁县| 甘孜| 五指山市| 屯昌县| 襄汾县| 房山区| 天镇县| 交口县| 定兴县| 同德县| 哈巴河县| 余庆县| 肥城市| 金昌市| 綦江县| 太谷县| 冷水江市| 神池县|