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

【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剧情愿望成真| 久久久久国产综合精品| 韩国午夜福利视频网站| 欧美日韩精品在线二区| 亚洲福利一区二区三区| 一区二区三区国产精品乱码| 18禁超污网站免费观看| 国产一级二级三级在线电影 | 天天操天天干夜夜射| 色哟哟亚洲精品在线视频| 丁香色婷婷国产精品视频| 一级片一区二区中文字幕| 高清欧美大片免费观看| 妇女人妻丰满少妇中文字幕| 欧美高清在线观看视频| 亚洲国产自拍精品视频| 亚洲综合色婷婷在线影院| 青草免费在线播放视频| 国产午夜视频在线观看一区| 精品日韩电影在线观看| 亚洲欧美中文字幕乱码| 日韩亚洲国产激情一区二区| 欧美日韩在线精品1区2区| 最新在线中文字幕av不卡| 久久国产欧美日韩精品| 国产精品99久久久久久| 亚洲五月六月激情综合| 午夜在线精品福利视频| 亚洲人成伊人久久成| 亚洲av色香蕉一区二区| 欧美日韩国产91在线| 亚洲欧美高清一区二区| 美国一级二级三级黄片| 亚洲成人免费电影观看| 精品熟妇人妻一区二区三区| 粉嫩美女精品一区二区| 亚洲国产视频不卡一区| 欧美日韩在线一区二区| 欧美日韩亚洲中文字幕| 久草免费人妻视频在线| 欧美日韩国产一下老妇|