float,double和decimal型別區別

2021-06-21 13:26:21 字數 456 閱讀 2130

float:浮點型,含位元組數為4,32bit,數值範圍為-3.4e38~3.4e38(7個有效位)

double:雙精度實型,含位元組數為8,64bit數值範圍-1.7e308~1.7e308(15個有效位)

decimal:數字型,128bit,不存在精度損失,常用於銀行帳目計算。(28個有效位)

float f = 345.98756f;//結果顯示為345.9876,只顯示7個有效位,對最後一位數四捨五入。

double d=345.975423578631442d;//結果顯示為345.975423578631,只顯示15個有效位,對最後一位四捨五入。

注:float和double的相乘操作,數字溢位不會報錯,會有精度的損失。

decimal dd=345.545454879.....//可以支援28位,對最後一位四捨五入。

注:當對decimal型別進行操作時,數值會因溢位而報錯。

float double精度和範圍

1.範圍 float和double的範圍是由指數的位數來決定的。float的指數字有8位,而double的指數字有11位,分布如下 float 1bit 符號位 8bits 指數字 23bits 尾數字 double 1bit 符號位 11bits 指數字 52bits 尾數字 於是,float的指...

float,double範圍和精度

今天遇到一題zoj 1128,資料範圍是 0 x1下面引用 1.範圍 float和double的範圍是由指數的位數來決定的。float的指數字有8位,而double的指數字有11位,分布如下 float 1bit 符號位 8bits 指數字 23bits 尾數字 double 1bit 符號位 11...

float double 精度問題

延伸一下 float和double的範圍和精度。1.範圍 float和double的範圍是由指數的位數來決定的。float的指數字有8位,而double的指數字有11位,分布如下 float 1bit 符號位 8bits 指數字 23bits 尾數字 double 1bit 符號位 11bits 指...