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

浮點(diǎn)運(yùn)算如何在Java項(xiàng)目中實(shí)現(xiàn)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)浮點(diǎn)運(yùn)算如何在Java項(xiàng)目中實(shí)現(xiàn),文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供云陽(yáng)網(wǎng)站建設(shè)、云陽(yáng)做網(wǎng)站、云陽(yáng)網(wǎng)站設(shè)計(jì)、云陽(yáng)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、云陽(yáng)企業(yè)網(wǎng)站模板建站服務(wù),10年云陽(yáng)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

Java中浮點(diǎn)運(yùn)算對(duì)于很多值浮點(diǎn)數(shù)都是采用其能夠表示的離目標(biāo)值最近的數(shù)來(lái)表示,這有可能會(huì)在計(jì)算中帶來(lái)不易覺(jué)察的誤差。

如下所例:

public class ssss {
  public static void main(String[] ages){
    double d1=2.07;
    double d2=1.03;
    System.out.println(d1+d2);
  }
}

結(jié)果:

浮點(diǎn)運(yùn)算如何在Java項(xiàng)目中實(shí)現(xiàn)

雖然計(jì)算結(jié)果離精確值誤差很小,但其不是精確的!這在像如金融計(jì)算一樣計(jì)算精確度要求很高的領(lǐng)域是無(wú)法接受的,但這是二進(jìn)制本身的問(wèn)題,而計(jì)算機(jī)普遍采用二進(jìn)制表示,使用基本數(shù)據(jù)類(lèi)型無(wú)法解決。

為了解決基本數(shù)據(jù)類(lèi)型浮點(diǎn)數(shù)不能進(jìn)行精確計(jì)算的問(wèn)題,Java中專(zhuān)門(mén)提供了java.math.BigDecimal類(lèi),其提供浮點(diǎn)數(shù)的精確計(jì)算功能。與BigInteger類(lèi)相同,其運(yùn)算操作均使用方法調(diào)用完成

demo

public class ssss {
  public static void main(String[] ages){
    BigDecimal b1=new BigDecimal("2.07");
    BigDecimal b2=new BigDecimal("1.03");
    System.out.println("相加運(yùn)算:");
    System.out.println("b1:"+b1);
    System.out.println("b2:"+b2);
    System.out.println("相加值:"+b1.add(b2));
  }
}

輸出值:

浮點(diǎn)運(yùn)算如何在Java項(xiàng)目中實(shí)現(xiàn)

其余函數(shù)參造下表

 BigDecimal abs()
          返回 BigDecimal,其值為此 BigDecimal 的絕對(duì)值,其標(biāo)度為 this.scale()。
 BigDecimal abs(MathContext mc)
          返回其值為此 BigDecimal 絕對(duì)值的 BigDecimal(根據(jù)上下文設(shè)置進(jìn)行舍入)。
 BigDecimal add(BigDecimal augend)
          返回一個(gè) BigDecimal,其值為 (this + augend),其標(biāo)度為 max(this.scale(), augend.scale())。
 BigDecimal add(BigDecimal augend, MathContext mc)
          返回其值為 (this + augend) 的 BigDecimal(根據(jù)上下文設(shè)置進(jìn)行舍入)。
 byte byteValueExact()
          將此 BigDecimal 轉(zhuǎn)換為 byte,以檢查丟失的信息。
 int compareTo(BigDecimal val)
          將此 BigDecimal 與指定的 BigDecimal 比較。
 BigDecimal divide(BigDecimal divisor)
          返回一個(gè) BigDecimal,其值為 (this / divisor),其首選標(biāo)度為 (this.scale() - divisor.scale());如果無(wú)法表示準(zhǔn)確的商值(因?yàn)樗袩o(wú)窮的十進(jìn)制擴(kuò)展),則拋出 ArithmeticException。
 BigDecimal divide(BigDecimal divisor, int roundingMode)
          返回一個(gè) BigDecimal,其值為 (this / divisor),其標(biāo)度為 this.scale()。
 BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
          返回一個(gè) BigDecimal,其值為 (this / divisor),其標(biāo)度為指定標(biāo)度。
 BigDecimal divide(BigDecimal divisor, int scale, RoundingMode roundingMode)
          返回一個(gè) BigDecimal,其值為 (this / divisor),其標(biāo)度為指定標(biāo)度。
 BigDecimal divide(BigDecimal divisor, MathContext mc)
          返回其值為 (this / divisor) 的 BigDecimal(根據(jù)上下文設(shè)置進(jìn)行舍入)。
 BigDecimal divide(BigDecimal divisor, RoundingMode roundingMode)
          返回一個(gè) BigDecimal,其值為 (this / divisor),其標(biāo)度為 this.scale()。
 BigDecimal[] divideAndRemainder(BigDecimal divisor)
          返回由兩個(gè)元素組成的 BigDecimal 數(shù)組,該數(shù)組包含 divideToIntegralValue 的結(jié)果,后跟對(duì)兩個(gè)操作數(shù)計(jì)算所得到的 remainder。
 BigDecimal[] divideAndRemainder(BigDecimal divisor, MathContext mc)
          返回由兩個(gè)元素組成的 BigDecimal 數(shù)組,該數(shù)組包含 divideToIntegralValue 的結(jié)果,后跟根據(jù)上下文設(shè)置對(duì)兩個(gè)操作數(shù)進(jìn)行舍入計(jì)算所得到的 remainder 的結(jié)果。
 BigDecimal divideToIntegralValue(BigDecimal divisor)
          返回 BigDecimal,其值為向下舍入所得商值 (this / divisor) 的整數(shù)部分。
 BigDecimal divideToIntegralValue(BigDecimal divisor, MathContext mc)
          返回 BigDecimal,其值為 (this / divisor) 的整數(shù)部分。
 double doubleValue()
          將此 BigDecimal 轉(zhuǎn)換為 double。
 boolean equals(Object x)
          比較此 BigDecimal 與指定的 Object 的相等性。
 float floatValue()
          將此 BigDecimal 轉(zhuǎn)換為 float。
 int hashCode()
          返回此 BigDecimal 的哈希碼。
 int intValue()
          將此 BigDecimal 轉(zhuǎn)換為 int。
 int intValueExact()
          將此 BigDecimal 轉(zhuǎn)換為 int,以檢查丟失的信息。
 long longValue()
          將此 BigDecimal 轉(zhuǎn)換為 long。
 long longValueExact()
          將此 BigDecimal 轉(zhuǎn)換為 long,以檢查丟失的信息。
 BigDecimal max(BigDecimal val)
          返回此 BigDecimal 和 val 的最大值。
 BigDecimal min(BigDecimal val)
          返回此 BigDecimal 和 val 的最小值。
 BigDecimal movePointLeft(int n)
          返回一個(gè) BigDecimal,它等效于將該值的小數(shù)點(diǎn)向左移動(dòng) n 位。
 BigDecimal movePointRight(int n)
          返回一個(gè) BigDecimal,它等效于將該值的小數(shù)點(diǎn)向右移動(dòng) n 位。
 BigDecimal multiply(BigDecimal multiplicand)
          返回一個(gè) BigDecimal,其值為 (this × multiplicand),其標(biāo)度為 (this.scale() + multiplicand.scale())。
 BigDecimal multiply(BigDecimal multiplicand, MathContext mc)
          返回其值為 (this × multiplicand) 的 BigDecimal(根據(jù)上下文設(shè)置進(jìn)行舍入)。
 BigDecimal negate()
          返回 BigDecimal,其值為 (-this),其標(biāo)度為 this.scale()。
 BigDecimal negate(MathContext mc)
          返回其值為 (-this) 的 BigDecimal(根據(jù)上下文設(shè)置進(jìn)行舍入)。
 BigDecimal plus()
          返回 BigDecimal,其值為 (+this),其標(biāo)度為 this.scale()。
 BigDecimal plus(MathContext mc)
          返回其值為 (+this) 的 BigDecimal(根據(jù)上下文設(shè)置進(jìn)行舍入)。
 BigDecimal pow(int n)
          返回其值為 (thisn) 的 BigDecimal,準(zhǔn)確計(jì)算該冪,使其具有無(wú)限精度。
 BigDecimal pow(int n, MathContext mc)
          返回其值為 (thisn) 的 BigDecimal。
 int precision()
          返回此 BigDecimal 的精度。
 BigDecimal remainder(BigDecimal divisor)
          返回其值為 (this % divisor) 的 BigDecimal。
 BigDecimal remainder(BigDecimal divisor, MathContext mc)
          返回其值為 (this % divisor) 的 BigDecimal(根據(jù)上下文設(shè)置進(jìn)行舍入)。
 BigDecimal round(MathContext mc)
          返回根據(jù) MathContext 設(shè)置進(jìn)行舍入后的 BigDecimal。
 int scale()
          返回此 BigDecimal 的標(biāo)度。
 BigDecimal scaleByPowerOfTen(int n)
          返回其數(shù)值等于 (this * 10n) 的 BigDecimal。
 BigDecimal setScale(int newScale)
          返回一個(gè) BigDecimal,其標(biāo)度為指定值,其值在數(shù)值上等于此 BigDecimal 的值。
 BigDecimal setScale(int newScale, int roundingMode)
          返回一個(gè) BigDecimal,其標(biāo)度為指定值,其非標(biāo)度值通過(guò)此 BigDecimal 的非標(biāo)度值乘以或除以十的適當(dāng)次冪來(lái)確定,以維護(hù)其總值。
 BigDecimal setScale(int newScale, RoundingMode roundingMode)
          返回 BigDecimal,其標(biāo)度為指定值,其非標(biāo)度值通過(guò)此 BigDecimal 的非標(biāo)度值乘以或除以十的適當(dāng)次冪來(lái)確定,以維護(hù)其總值。
 short shortValueExact()
          將此 BigDecimal 轉(zhuǎn)換為 short,以檢查丟失的信息。
 int signum()
          返回此 BigDecimal 的正負(fù)號(hào)函數(shù)。
 BigDecimal stripTrailingZeros()
          返回?cái)?shù)值上等于此小數(shù),但從該表示形式移除所有尾部零的 BigDecimal。
 BigDecimal subtract(BigDecimal subtrahend)
          返回一個(gè) BigDecimal,其值為 (this - subtrahend),其標(biāo)度為 max(this.scale(), subtrahend.scale())。
 BigDecimal subtract(BigDecimal subtrahend, MathContext mc)
          返回其值為 (this - subtrahend) 的 BigDecimal(根據(jù)上下文設(shè)置進(jìn)行舍入)。
 BigInteger toBigInteger()
          將此 BigDecimal 轉(zhuǎn)換為 BigInteger。
 BigInteger toBigIntegerExact()
          將此 BigDecimal 轉(zhuǎn)換為 BigInteger,以檢查丟失的信息。
 String toEngineeringString()
          返回此 BigDecimal 的字符串表示形式,需要指數(shù)時(shí),則使用工程計(jì)數(shù)法。
 String toPlainString()
          返回不帶指數(shù)字段的此 BigDecimal 的字符串表示形式。
 String toString()
          返回此 BigDecimal 的字符串表示形式,如果需要指數(shù),則使用科學(xué)記數(shù)法。
 BigDecimal ulp()
          返回此 BigDecimal 的 ulp(最后一位的單位)的大小。
 BigInteger unscaledValue()
          返回其值為此 BigDecimal 的非標(biāo)度值 的 BigInteger。
static BigDecimal valueOf(double val)
          使用 Double.toString(double) 方法提供的 double 規(guī)范的字符串表示形式將 double 轉(zhuǎn)換為 BigDecimal。
static BigDecimal valueOf(long val)
          將 long 值轉(zhuǎn)換為具有零標(biāo)度的 BigDecimal。
static BigDecimal valueOf(long unscaledVal, int scale)
          將 long 非標(biāo)度值和 int 標(biāo)度轉(zhuǎn)換為 BigDecimal。

上述就是小編為大家分享的浮點(diǎn)運(yùn)算如何在Java項(xiàng)目中實(shí)現(xiàn)了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁(yè)標(biāo)題:浮點(diǎn)運(yùn)算如何在Java項(xiàng)目中實(shí)現(xiàn)
網(wǎng)頁(yè)網(wǎng)址:http://www.aaarwkj.com/article4/pdejie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、微信小程序、動(dòng)態(tài)網(wǎng)站小程序開(kāi)發(fā)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站策劃

廣告

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

成都網(wǎng)站建設(shè)
蜜臀av首页在线观看| 亚洲国产精品区一区二区| 日韩精品中文字幕有码在线| 婷婷色精品一区二区激情| 一区二区三区在线观看淫| 日本韩国一级黄色免费| 在线免费观看午夜视频| 91日本视频在线播放| 热久久精品只有这里有| 亚洲一区麻豆文化传媒| 亚洲av乱码专区国产乱码| 欧美久久精品在线观看| 欧美日韩一区二区三区666| 国产成人精品视频午夜蜜蜂| 九九九热精品视频在线观看| 国产成人激情自拍视频在线观看| 亚洲中文波霸中文字幕| 国产精品兄妹在线观看91| 超薄丝袜美腿一二三区在线播放| 日韩在线一区二区视频观看| 日韩欧美一区亚洲一区| 欧美一区二区三区中文字幕| 人妻一少妇一区二区三区 | 91中文字幕国产日韩| 综合激情网激情五月天| 国产自拍成人精品视频| 欧美日韩精品在线二区| 水蜜桃在线观看一区二区国产| 色花堂国产精品第二页| 高清中文字幕一区二区三区| 日本一区两区三区不卡视频| 亚洲av一区二区三区| 91精品蜜臀国产综合久久久久久| 国产老太婆精品久久久久| 日本成人午夜在线观看| 三级国产大片在线观看| 视频免费观看网站不卡| 欧美精品国产欧美精品国产| 中文字幕日韩欧美一区二区| 国产亚洲精品久久久久久| 青春草草视频在线观看|