日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

JAVA的知识点3——浮点数的相关处理

發布時間:2025/4/16 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA的知识点3——浮点数的相关处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

浮點類型float,double的數據不適合在不容許舍入誤差的金融計算領域。如果需要進行不產生舍入誤差的精確數字計算,需要使用BigDecimal類

因為由于字長有限,浮點數能夠精確表示的數是有限的,因而也是離散的。

浮點數一般都存在舍入誤差,很多數字無法精確表示(例如0.1),其結果只能是接近, 但不等于。

二進制浮點數不能精確的表示0.1、0.01、0.001這樣10的負次冪。

并不是所有的小數都能可以精確的用二進制浮點數表示。

注:不要使用浮點數進行比較!需要比較請使用BigDecimal類


?java.math包下面的兩個有用的類:BigInteger和BigDecimal,這兩個類可以處理任意長度的數值。BigInteger實現了任意精度的整數運算BigDecimal實現了任意精度的浮點運算。

import java.math.BigDecimal;public class test1 {public static void main(String[] args) {/*浮點數的比較一float f=0.1f;double d=1.0/10;System.out.println(f==d);*//*浮點數的比較二float d1=4254155545f;float d2=d1+1;if(d1==d2) {System.out.println("d1=d2");}else {System.out.println("d1 != d2");}*/BigDecimal bd=BigDecimal.valueOf(1.0);bd=bd.subtract(BigDecimal.valueOf(0.1));bd=bd.subtract(BigDecimal.valueOf(0.1));bd=bd.subtract(BigDecimal.valueOf(0.1));bd=bd.subtract(BigDecimal.valueOf(0.1));bd=bd.subtract(BigDecimal.valueOf(0.1));System.out.println(bd);System.out.println(1.0-0.1-0.1-0.1-0.1-0.1);} }

?

程序運行結果如下圖:


浮點數使用總結

  • 默認是double類型

  • 浮點數存在舍入誤差,數字不能精確表示。如果需要進行不產生舍入誤差的精確數字計算,需要使用BigDecimal類。

  • 避免比較中使用浮點數,需要比較請使用BigDecimal類

總結

以上是生活随笔為你收集整理的JAVA的知识点3——浮点数的相关处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。