其他分享
首页 > 其他分享> > 7Go 浮点类型使用

7Go 浮点类型使用

作者:互联网

Go语言浮点类型,只有如下两种:

float32

float54(相当于JAVA的double)

数据类型 有无符号 占用存储 取值范围 有效数字精准度
float32
有符号
占4字节,32位
取值范围:-3.403E38~3.403E38
有效数字精准度只能保证6或7位
float64
有符号
占8字节,64位
取值范围:-1.798E308~1.798E308
有效数字精准度能保证16位

 

 

 1 package main
 2 
 3 import (
 4     "fmt"
 5 )
 6 
 7 func main() {
 8     // Go语言浮点类型
 9     // float32    有符号    占4字节,32位    取值范围:-3.403E38~3.403E38    有效数字精准度只能保证7位
10     // float64    有符号    占8字节,64位    取值范围:-1.798E308~1.798E308    有效数字精准度能保证16位
11     // Go语言小数类型默认数据类型为float64
12     var f1 = 1.23
13     fmt.Printf("f1的类型为 %T", f1) // f1的类型为 float64
14     fmt.Println("")
15 
16     fmt.Println("测试取值范围")
17     var f2 float32 = 1.234567890123456789
18     var f3 float32 = 0.1234567890123456789
19     var f4 float64 = 1.234567890123456789
20     var f5 float64 = 0.1234567890123456789
21     fmt.Printf("f2 的类型为 %T,赋值为1.234567890123456789,最终存储结果为:", f2)
22     fmt.Println(f2)
23     fmt.Printf("f3 的类型为 %T,赋值为0.1234567890123456789,最终存储结果为:", f3)
24     fmt.Println(f3)
25     fmt.Printf("f4 的类型为 %T,赋值为1.234567890123456789,最终存储结果为:", f4)
26     fmt.Println(f4)
27     fmt.Printf("f5 的类型为 %T,赋值为0.1234567890123456789,最终存储结果为:", f5)
28     fmt.Println(f5)
29     /*
30     f2 的类型为 float32,赋值为1.234567890123456789,    最终存储结果为:1.2345679
31     f3 的类型为 float32,赋值为0.1234567890123456789,    最终存储结果为:0.12345679
32     f4 的类型为 float64,赋值为1.234567890123456789,    最终存储结果为:1.2345678901234567
33     f5 的类型为 float64,赋值为0.1234567890123456789,    最终存储结果为:0.12345678901234568
34     */
35 
36     fmt.Println("Go语言浮点数支持科学计数法")
37     f6 := 123e-3 // 等价于123除以10的3次方=0.123
38     fmt.Println("f6 赋值为:123e-3,存储为:", f6) // f6 赋值为:123e-3,存储为: 0.123
39     f7 := 1.23e3 // 等价于1.23乘以10的3次方=1230
40     fmt.Println("f7 赋值为:1.23e3,存储为:", f7) // f7 赋值为:1.23e3,存储为: 1230
41     f8 := 0.123E-3 // e和E等价
42     fmt.Println("f8 赋值为:0.123E-3,存储为:", f8) // f8 赋值为:0.123E-3,存储为: 0.000123
43 }

 

标签:Println,存储,float64,7Go,浮点,类型,fmt,float32,赋值
来源: https://www.cnblogs.com/chengshan/p/16219027.html