關于Java兩個浮點型數(shù)字加減乘除的問題
更新時間:2024年10月24日 14:34:12 作者:小手cool
由于浮點數(shù)在計算機中是以二進制表示的,直接進行加減乘除運算會出現(xiàn)精度誤差,想要得到精確結果,應使用BigDecimal類進行運算
Java兩個浮點型數(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);
}
出來的結果

因為浮點數(shù)值采用二進制系統(tǒng)表示的
運算時會將這些十進制轉(zhuǎn)換成二進制的
再由二進制規(guī)格化后計算得來的結果
想要得到精確的運算結果可以使用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());
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
flowable動態(tài)創(chuàng)建多級流程模板實現(xiàn)demo
這篇文章主要為大家介紹了flowable動態(tài)創(chuàng)建多級流程模板實現(xiàn)demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05
將java普通項目打包成exe可執(zhí)行文件的步驟記錄
將JAVA代碼打包為exe文件,會讓程序運行更加方便,這篇文章主要給大家介紹了關于將java普通項目打包成exe可執(zhí)行文件的相關資料,需要的朋友可以參考下2021-07-07
idea自帶Jacoco/idea自動測試語句覆蓋率方法(使用詳解)
這篇文章主要介紹了idea自帶Jacoco/idea自動測試語句覆蓋率方法,本文給大家分享使用方法,通過圖文實例相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04
Fluent Mybatis如何做到代碼邏輯和sql邏輯的合一
對比原生Mybatis, Mybatis Plus或者其他框架,F(xiàn)luentMybatis提供了哪些便利呢?很多朋友對這一問題不是很清楚,今天小編給大家?guī)硪黄坛剃P于Fluent Mybatis如何做到代碼邏輯和sql邏輯的合一,一起看看吧2021-08-08
Springboot如何同時裝配兩個相同類型數(shù)據(jù)庫
這篇文章主要介紹了Springboot如何同時裝配兩個相同類型數(shù)據(jù)庫,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
Spring Boot加密配置文件特殊內(nèi)容的示例代碼詳解
這篇文章主要介紹了Spring Boot加密配置文件特殊內(nèi)容的相關知識,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05
SpringBoot RestTemplate GET POST請求的實例講解
這篇文章主要介紹了SpringBoot RestTemplate GET POST請求的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09

