基本介紹
浮點類型也就是我們所說的小數類型,用來存放小數的。Golang的浮點類型可以表示一個小數,比如 123.4,7.8,0.12 等等
案例示範∶
var price float32 = 89.12
fmt.Println(price)
小數類型分類
單精度類似于其他程式設計語言裡面的float,雙精度類似于其他程式設計語言裡面的double。這裡是根據位數來區分是雙精度還是單精度。
浮點數都是有符号位的。
說明一下∶
1)關于浮點數在機器中存放形式的簡單說明,浮點數=符号位+指數位+尾數位
3.56
11110000111.111111111111111111000
2)尾數部分可能丢失,造成精度損失。-123.0000901
var number1 float32 = -123.0000901
var number2 float64 = -123.0000901
fmt.Println(number1,number2)
可以看到浮點數可能會造成精度損失,其次64位的精度要比32位的精度要大。如果要表示精度更加準确的數,那麼應該使用64位。
3)浮點型的存儲分為三部分∶符号位+指數位+尾數位 在存儲過程中,精度會有丢失
浮點型使用細節
1) Golang浮點類型有固定的範圍和字段長度,不受具體Os的影響。(沒有float這種類型,要麼是32位float32,要麼是64位float64)
2) Golang 的浮點型預設聲明為float64類型。
number := 1.2
fmt.Printf("%T",number)
float64
3) 浮點型常量有兩種表示形式
十進制數形式∶如∶5.12 .512(必須有小數點)