写点什么

【愚公系列】2022 年 7 月 Go 教学课程 009- 数据类型之浮点型

作者:愚公搬代码
  • 2022 年 7 月 11 日
  • 本文字数:506 字

    阅读完需:约 2 分钟

一、数据类型概要

go 语言中有四种数据类型:基础类型,复合类型,引用类型,接口类型。


二、浮点型

在 Go 语言中提供了两种精度的浮点型:float32 和 float64。


  • float32 的浮点数最大值约为 3.4e38, 可以通过 match 包的方法来获取: match.MaxFloat32。

  • float64 的浮点数最大值约为 1.8e308, 可以通过 match 包的方法来获取: match.MaxFloat64。


float32 精确到小数点后 7 位,float64 精确到小数点后 15 位。由于在 Go 中涉及到关于数学运算的包中,都要求使用 float64 这个类型。因为一个 float32 类型的浮点数可以提供大约 6 个十进制数的精度,而 float64 则可以提供约 15 个十进制数的精度;通常应该优先使用 float64 类型,因为 float32 类型的累计计算误差很容易扩散,并且 float32 能精确表示的正整数并不是很大(注意:因为 float32 的有效 bit 位只有 23 个,其它的 bit 位用于指数和符号;当整数大于 23bit 能表达的范围时,float32 的表示将出现误差):


案例:


package main
import ( "fmt" "math")
func main() { // 打印默认宽度和精度的圆周率, \n 为换行符 fmt.Printf("%f\n", math.Pi)
// 打印默认宽度, 精度(小数点后的位数)为2的圆周率 fmt.Printf("%.2f\n", math.Pi)}
复制代码


输出结果:


3.1415933.14
复制代码



发布于: 刚刚阅读数: 3
用户头像

还未添加个人签名 2022.03.01 加入

该博客包括:.NET、Java、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、python、大数据等相关使用及进阶知识。查看博客过程中,如有任何问题,皆可随时沟通。

评论

发布
暂无评论
【愚公系列】2022年7月 Go教学课程 009-数据类型之浮点型_7月月更_愚公搬代码_InfoQ写作社区