天天看點

Go 變量 浮點類型

基本介紹

浮點類型也就是我們所說的小數類型,用來存放小數的。Golang的浮點類型可以表示一個小數,比如 123.4,7.8,0.12 等等

案例示範∶

var price float32 = 89.12
  fmt.Println(price)      

小數類型分類

Go 變量 浮點類型

單精度類似于其他程式設計語言裡面的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(必須有小數點)