亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

时尚| 凉山| 中江县| 丹巴县| 德庆县| 连云港市| 新平| 清原| 隆回县| 万全县| 安陆市| 德江县| 喀喇| 固原市| 岱山县| 微山县| 洞口县| 临邑县| 万宁市| 保康县| 德州市| 土默特右旗| 大悟县| 抚顺县| 千阳县| 陆良县| 泰宁县| 锡林浩特市| 慈溪市| 靖边县| 白山市| 浪卡子县| 丽水市| 博野县| 休宁县| 渭源县| 翁牛特旗| 绿春县| 前郭尔| 正蓝旗| 郓城县|