float:單精度型別,精度是8位有效數字(其餘部分四捨五入),取值範圍是10的-38次方到10的38次方,float占用4個位元組的儲存空間。
double:雙精度型別,精度是17位有效數字,取值範圍是10的-308次方到10的308次方,double占用8個位元組的儲存空間。
若不宣告的,預設小數都用double來表示,所以如果要用float的話,則應該在其後加上f
例如:float a=1.63;//會顯示錯誤,正確的寫法為float a=1.63f;
則會提示不能將double轉化成float 這成為窄型轉化
注意float是8位有效數字,第7位數字將會產生四捨五入
所以如果乙個float變數 這樣定義: float a=1.32344435; 則第7位將產生四捨五入(5及5以下的都將捨去)
一般開發中建議用double 修飾小數
java中float記憶體儲存原理
規格化表示 浮點數採用的是ieee standard 754 floating point numbers標準 float占用4個位元組,和int一樣,也是32bit.第1個bit表示符號,0表示正數,1表示負數.第2 9個bit表示指數,一共8位 可以表示0 255 這裡的底數是2,為了同時表示正...
Java中float型別精度問題
今天發現了乙個小的問題,在網上找了說的不多,在這記錄下來方便自己和比人解決自己的問題吧。片段 1unit double.valueof actionutils.getbillingtransformunit request 取出換算單位1000.0 2svt curvesegment.getendv...
Java中float型別精度問題
今天發現了乙個小的問題,在網上找了說的不多,在這記錄下來方便自己和比人解決自己的問題吧。片段 1unit double.valueof actionutils.getbillingtransformunit request 取出換算單位1000.0 2svt curvesegment.getendv...