欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

【Java】BigDecimal實(shí)現(xiàn)加減乘除運(yùn)算代碼

java.math.BigDecimal

創(chuàng)新互聯(lián)公司提供網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)頁設(shè)計(jì),成都品牌網(wǎng)站建設(shè),廣告投放等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,十年的網(wǎng)站開發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破上千余家,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.

BigDecimal一共有4個(gè)夠造方法,讓我先來看看其中的兩種用法:

第一種: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來夠造,要做一個(gè)加法運(yùn)算,需要先將兩個(gè)浮點(diǎn)數(shù)轉(zhuǎn)為String,然后夠造成BigDecimal,在其中一個(gè)上調(diào)用add方法,傳入另一個(gè)作為參數(shù),然后把運(yùn)算的結(jié)果(BigDecimal)再轉(zhuǎn)換為浮點(diǎn)數(shù)。

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)

工具類:Arith

/**
 * 由于Java的簡單類型不能夠精確的對浮點(diǎn)數(shù)進(jìn)行運(yùn)算,這個(gè)工具類提供精 確的浮點(diǎn)數(shù)運(yùn)算,包括加減乘除和四舍五入。
 */
public class Arith { // 默認(rèn)除法運(yùn)算精度
  private static final int DEF_DIV_SCALE = 10; // 這個(gè)類不能實(shí)例化

  private Arith() {
  }

  /**
   * 提供精確的加法運(yùn)算。
   * 
   * @param v1
   *      被加數(shù)
   * @param v2
   *      加數(shù)
   * @return 兩個(gè)參數(shù)的和
   */
  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();
  }

  /**
   * 提供精確的減法運(yùn)算。
   * 
   * @param v1
   *      被減數(shù)
   * @param v2
   *      減數(shù)
   * @return 兩個(gè)參數(shù)的差
   */
  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();
  }

  /**
   * 提供精確的乘法運(yùn)算。
   * 
   * @param v1
   *      被乘數(shù)
   * @param v2
   *      乘數(shù)
   * @return 兩個(gè)參數(shù)的積
   */
  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();
  }

  /**
   * 提供(相對)精確的除法運(yùn)算,當(dāng)發(fā)生除不盡的情況時(shí),精確到 小數(shù)點(diǎn)以后10位,以后的數(shù)字四舍五入。
   * 
   * @param v1
   *      被除數(shù)
   * @param v2
   *      除數(shù)
   * @return 兩個(gè)參數(shù)的商
   */
  public static double div(double v1, double v2) {
    return div(v1, v2, DEF_DIV_SCALE);
  }

  /**
   * 提供(相對)精確的除法運(yùn)算。當(dāng)發(fā)生除不盡的情況時(shí),由scale參數(shù)指 定精度,以后的數(shù)字四舍五入。
   * 
   * @param v1
   *      被除數(shù)
   * @param v2
   *      除數(shù)
   * @param scale
   *      表示表示需要精確到小數(shù)點(diǎn)以后幾位。
   * @return 兩個(gè)參數(shù)的商
   */
  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();
  }

  /**
   * 提供精確的小數(shù)位四舍五入處理。
   * 
   * @param v 需要四舍五入的數(shù)字
   * @param scale 小數(shù)點(diǎn)后保留幾位
   * @return 四舍五入后的結(jié)果
   */
  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();
  }
};

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

本文名稱:【Java】BigDecimal實(shí)現(xiàn)加減乘除運(yùn)算代碼
轉(zhuǎn)載來于:http://aaarwkj.com/article14/jjjcge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、電子商務(wù)、網(wǎng)站導(dǎo)航、關(guān)鍵詞優(yōu)化、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
国产欧洲日本一区二区| 国产又粗又硬又长又爽在线观看| 午夜福利视频欧美成人| 国产一区二区三区精品久久| av在线免费观看美日韩| 亚洲一区二区三区久久伊人| 亚洲欧洲av男人的天堂| 亚洲国产精品一区二区三区在线| 久久精品中文字幕有码日本道| 亚洲少妇熟女一区二区三区| av免费观看日韩永久| 91性感视频在线播放| 日本一区二区国产在线| 99热这里只有精品三区| 日本午夜理论视频在线播放| 欧美一级免费黄片在线播放| 成人欧美精品一区二区不卡| 午夜性色在线视频福利| 日本国产精品久久一线| 熟女另类视频在线观看| 美女床上激情啪啪网页| 精品欧美国产日韩在线观看| 精品人妻一区二区三区久久91 | 欧美日韩一区二区三区四区高清视频| 天天爽天天看天天射天天操| 91麻豆亚洲国产成人久久精品| 精品国产一区二区三区性色av| 欧美日韩亚洲中文国产| 熟女中文字幕亚洲一区二区| 在线激情视频一区二区| 看夫妻性生活免费视频| 丰满人妻一区二区三区免费| 亚洲国产精品热久久网站| 亚洲福利一区二区在线| 欧美乱与老熟妇视频观看| 亚洲免费av一区在线观看| 日韩欧美亚洲一区二区| 亚洲专区综合红桃av| 亚洲av综合色区一区| 欧美日韩精品视频网站| 91久久精品国产免费一区|