Ⅰ java中float和double的取值范圍該怎樣理解
基本類型float佔4個位元組,二進制位數有32位,取值范圍為[-3.40282346638528860e+38 , -1.40129846432481707e-45] ∪ [1.40129846432481707e-45 ~ 3.40282346638528860e+38]。
基本類型double佔8個位元組,二進制位數有64位,取值范圍為[-1.79769313486231570e+308,-4.94065645841246544e-324] ∪ [4.94065645841246544e-324,1.79769313486231570e+308] 。
PS:其中e代表10的多少次方。
IEEE二進制浮點數算術標准(IEEE 754)是20世紀80年代以來最廣泛使用的浮點數運算標准,為許多CPU與浮點運算器所採用。這個標準定義了表示浮點數的格式(包括負零-0)與反常值(denormal number)),一些特殊數值(無窮(Inf)與非數值(NaN)),以及這些數值的「浮點數運算符」;它也指明了四種數值舍入規則和五種例外狀況(包括例外發生的時機與處理方式)。
(1)javabigdecimal默認值擴展閱讀:
Java有兩種浮點數據類型,第一種float使用32 bit表示,對應單精度浮點數,運行速度相比double更快,占內存更小,但是當數值非常大或者非常小的時候會變得不精確。精度要求不高的時候可以使用float類型。double為64位表示,將浮點數賦給某個變數時,如果不字面值後面加f或者F,則默認為double類型。java.lang.Math中的函數都採用double類型。如果double和float都無法達到想要的精度,可以使用BigDecimal類。
Ⅱ java怎麼設置bigdecimal值
1、java設置bigdecimal值的方法如下:
add(BigDecimal) BigDecimal對象中的值相加,然後返回這個對象。
subtract(BigDecimal) BigDecimal對象中的值相減,然後返回這個對象。
multiply(BigDecimal) BigDecimal對象中的值相乘,然後返回這個對象。
divide(BigDecimal) BigDecimal對象中的值相除,然後返回這個對象。
toString() 將BigDecimal對象的數值轉換成字元串。
doubleValue() 將BigDecimal對象中的值以雙精度數返回。
floatValue() 將BigDecimal對象中的值以單精度數返回。
longValue() 將BigDecimal對象中的值以長整數返回。
intValue() 將BigDecimal對象中的值以整數返回。
【注意】由於一般數值類型,例如double,不能准確地代表16位有效數以上的數字,在使用BigDecimal時,應用BigDecimal(String)構造器創建對象才有意義。另外,BigDecimal所創建的是對象,我們不能使用傳統的+、-、*、/等算術運算符直接對其對象進行數學運算,而必須調用其相對應的方法。方法中的參數也必須是BigDecimal的對象。