最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java浮點(diǎn)類數(shù)字運(yùn)算方式

 更新時(shí)間:2024年10月24日 14:24:47   作者:知楠行易  
在進(jìn)行浮點(diǎn)數(shù)的加減運(yùn)算時(shí),直接使用+和-可能會(huì)引入精度誤差,為了比較浮點(diǎn)數(shù),可以使用Double的compareTo()方法,或者通過定義一個(gè)容差值(Epsilon)來判斷兩個(gè)浮點(diǎn)數(shù)是否相等,此外,Double.compare()方法也能比較兩個(gè)double值

浮點(diǎn)數(shù)運(yùn)算可以直接使用 + 和 - 運(yùn)算符進(jìn)行加減操作,但可能會(huì)有一定的問題:

  • 精度問題
  • 比較問題
  • 累積誤差

一、比較大小

比較問題:由于精度問題,直接比較兩個(gè)浮點(diǎn)數(shù)是否相等可能會(huì)出錯(cuò)。

1.1 使用 compareTo() 方法

對(duì)于 Double 的包裝類,可以使用 compareTo() 方法來比較兩個(gè) Double 對(duì)象的大小。

這個(gè)方法同樣返回一個(gè)整數(shù),表示比較的結(jié)果

Double a = 0.1 + 0.2;
Double b = 0.3;

int result = a.compareTo(b);
if (result < 0) {
    System.out.println("a is less than b");
} else if (result > 0) {
    System.out.println("a is greater than b");
} else {
    System.out.println("a is equal to b");
}

1.2 使用容差值(Epsilon)比較

double a = 0.1 + 0.2;
double b = 0.3;
double epsilon = 0.000001; // 容差值

if (Math.abs(a - b) < epsilon) {
    System.out.println("a and b are approximately equal");
} else if (a < b) {
    System.out.println("a is less than b");
} else {
    System.out.println("a is greater than b");
}

1.3 使用 Double.compare()

Double.compare() 方法是一個(gè)靜態(tài)方法,可以用來比較兩個(gè) double 值。

這個(gè)方法會(huì)返回一個(gè)整數(shù),表示第一個(gè)值與第二個(gè)值的關(guān)系:

  • 如果第一個(gè)值小于第二個(gè)值,則返回負(fù)數(shù)。
  • 如果第一個(gè)值等于第二個(gè)值,則返回零。
  • 如果第一個(gè)值大于第二個(gè)值,則返回正數(shù)。
double a = 0.1 + 0.2;
double b = 0.3;

int result = Double.compare(a, b);
if (result < 0) {
    System.out.println("a is less than b");
} else if (result > 0) {
    System.out.println("a is greater than b");
} else {
    System.out.println("a is equal to b");
}

二、求和運(yùn)算

  • 精度問題:浮點(diǎn)數(shù)在計(jì)算機(jī)中是以近似值存儲(chǔ)的,因此在進(jìn)行加減運(yùn)算時(shí)可能會(huì)出現(xiàn)精度損失。
  • 累積誤差:在進(jìn)行多次浮點(diǎn)數(shù)運(yùn)算時(shí),誤差可能會(huì)累積,導(dǎo)致結(jié)果偏差更大。

2.1 使用 BigDecimal 精確求和

// 創(chuàng)建 BigDecimal 對(duì)象
BigDecimal num1 = new BigDecimal("0.1");
BigDecimal num2 = new BigDecimal("0.2");

// 精確求和
BigDecimal sum = num1.add(num2);
sum.doubleValue()

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • springboot整合kaptcha生成驗(yàn)證碼功能

    springboot整合kaptcha生成驗(yàn)證碼功能

    這篇文章主要介紹了springboot整合kaptcha生成驗(yàn)證碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 淺談synchronized方法對(duì)非synchronized方法的影響

    淺談synchronized方法對(duì)非synchronized方法的影響

    下面小編就為大家?guī)硪黄獪\談synchronized方法對(duì)非synchronized方法的影響。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • Java中的事件處理機(jī)制詳細(xì)解讀

    Java中的事件處理機(jī)制詳細(xì)解讀

    這篇文章主要介紹了Java中的事件處理機(jī)制詳細(xì)解讀,ava事件處理是采取"委派事件模型",當(dāng)事件發(fā)生時(shí),產(chǎn)生事件的對(duì)象會(huì)把此"信息"傳遞給"事件的監(jiān)聽者"處理,需要的朋友可以參考下
    2024-01-01
  • java super關(guān)鍵字知識(shí)點(diǎn)詳解

    java super關(guān)鍵字知識(shí)點(diǎn)詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于java super關(guān)鍵字知識(shí)點(diǎn)詳解內(nèi)容,有興趣的朋友們可以參考下。
    2021-01-01
  • Java日常記錄之查看Maven本地倉庫的位置

    Java日常記錄之查看Maven本地倉庫的位置

    這篇文章主要介紹了Maven本地倉庫的用途和配置方法,它提供了查看、修改本地倉庫路徑的步驟,包括檢查settings.xml文件、使用Maven命令和查看輸出日志,需要的朋友可以參考下
    2024-12-12
  • Spring?Boot?底層原理基礎(chǔ)深度解析

    Spring?Boot?底層原理基礎(chǔ)深度解析

    這篇文章主要介紹了Spring?Boot?底層原理基礎(chǔ),包括底層注解@Configuration,底層注解@Import及底層注解@Conditional的相關(guān)知識(shí),本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Java中內(nèi)核線程理論及實(shí)例詳解

    Java中內(nèi)核線程理論及實(shí)例詳解

    在本篇文章里小編給大家整理了一篇關(guān)于Java中內(nèi)核線程理論及實(shí)例詳解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-03-03
  • Java 實(shí)戰(zhàn)項(xiàng)目錘煉之嘟嘟健身房管理系統(tǒng)的實(shí)現(xiàn)流程

    Java 實(shí)戰(zhàn)項(xiàng)目錘煉之嘟嘟健身房管理系統(tǒng)的實(shí)現(xiàn)流程

    讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實(shí)現(xiàn)一個(gè)健身房管理系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平
    2021-11-11
  • List轉(zhuǎn)換成Map工具類的簡(jiǎn)單實(shí)例

    List轉(zhuǎn)換成Map工具類的簡(jiǎn)單實(shí)例

    下面小編就為大家?guī)硪黄狶ist轉(zhuǎn)換成Map工具類的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • Spring項(xiàng)目中Ordered接口的應(yīng)用之全局過濾器(GlobalFilter)的順序控制

    Spring項(xiàng)目中Ordered接口的應(yīng)用之全局過濾器(GlobalFilter)的順序控制

    在Spring框架,尤其是Spring Cloud Gateway或Spring WebFlux項(xiàng)目中,Ordered接口扮演著重要的角色,特別是在實(shí)現(xiàn)全局過濾器(GlobalFilter)時(shí),用于控制過濾器執(zhí)行的優(yōu)先級(jí),下面將介紹如何在Spring項(xiàng)目中使用Ordered接口來管理Global Filter的執(zhí)行順序,需要的朋友可以參考下
    2024-06-06

最新評(píng)論

武宁县| 辽阳市| 山东省| 英德市| 云霄县| 丰宁| 大冶市| 阿拉善左旗| 张家港市| 安康市| 将乐县| 师宗县| 大悟县| 辛集市| 湖北省| 临武县| 越西县| 丰台区| 正镶白旗| 广平县| 徐水县| 新竹市| 梅河口市| 泸溪县| 禹城市| 九龙坡区| 崇州市| 新龙县| 仙桃市| 来安县| 台州市| 龙里县| 顺义区| 富平县| 肥城市| 黎城县| 剑川县| 湖州市| 北流市| 邛崃市| 甘洛县|