天天看点

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(必须有小数点)