關(guān)于Java兩個浮點(diǎn)型數(shù)字加減乘除的問題
更新時間:2024年10月24日 14:34:12 作者:小手cool
由于浮點(diǎn)數(shù)在計算機(jī)中是以二進(jìn)制表示的,直接進(jìn)行加減乘除運(yùn)算會出現(xiàn)精度誤差,想要得到精確結(jié)果,應(yīng)使用BigDecimal類進(jìn)行運(yùn)算
Java兩個浮點(diǎn)型數(shù)字加減乘除
public static void main(String[] args) { double a=1.8; double b=1.4; System.out.println("a+b="+(a+b)); System.out.println("a-b="+(a-b)); System.out.println("a*b="+a*b); System.out.println("a/b="+a/b); }
出來的結(jié)果
因為浮點(diǎn)數(shù)值采用二進(jìn)制系統(tǒng)表示的
運(yùn)算時會將這些十進(jìn)制轉(zhuǎn)換成二進(jìn)制的
再由二進(jìn)制規(guī)格化后計算得來的結(jié)果
想要得到精確的運(yùn)算結(jié)果可以使用BigDecimal
//加 BigDecimal a1 = new BigDecimal(Double.toString(a)); BigDecimal a2 = new BigDecimal(Double.toString(b)); System.out.println("a+b="+a1.add(a2).doubleValue()); //減 System.out.println("a-b="+a1.subtract(a2).doubleValue()); //乘 System.out.println("a*b="+a1.multiply(a2).doubleValue()); //除 System.out.println("a/b="+a1.divide(a2).doubleValue());
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java的新特性反射機(jī)制應(yīng)用及操作示例詳解
這篇文章主要為大家介紹了java的新特性反射機(jī)制的操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05Spring Data JPA+kkpager實現(xiàn)分頁功能實例
本篇文章主要介紹了Spring Data JPA+kkpager實現(xiàn)分頁功能實例,具有一定的參考價值,有興趣的可以了解一下2017-06-06基于Mybatis-Plus攔截器實現(xiàn)MySQL數(shù)據(jù)加解密的示例代碼
用戶的一些敏感數(shù)據(jù),例如手機(jī)號、郵箱、身份證等信息,在數(shù)據(jù)庫以明文存儲時會存在數(shù)據(jù)泄露的風(fēng)險,因此需要進(jìn)行加密,解密等功能,接下來本文就給大家介紹基于Mybatis-Plus攔截器實現(xiàn)MySQL數(shù)據(jù)加解密,需要的朋友可以參考下2023-07-07SpringBoot結(jié)合Redis配置工具類實現(xiàn)動態(tài)切換庫
本文主要介紹了SpringBoot結(jié)合Redis配置工具類實現(xiàn)動態(tài)切換庫,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08Spring Cloud 部署時使用 Kubernetes 作為注冊中心和配置中
Spring Cloud Kubernetes提供了使用Kubernete本地服務(wù)的Spring Cloud通用接口實現(xiàn),這篇文章主要介紹了Spring Cloud 部署時如何使用 Kubernetes 作為注冊中心和配置中心,需要的朋友可以參考下2024-05-05