博客
关于我
Go 小数类型/浮点型的使用
阅读量:342 次
发布时间:2019-03-04

本文共 1275 字,大约阅读时间需要 4 分钟。

小数类型/浮点型的使用


  • 小数类型
    • 小数类型就是用于存放小数的,比如 1.2 0.23 -1.911
  • 演示案例
package main import(	"fmt")//演示golang中小数类型的使用func main()  {	var price float32 = 54.67	fmt.Println("price = ", price)}
  • 输出结果


  • 浮点型分类

  • 说明
    • 关于浮点数在机器中存放形式的简单说明浮点数=符号位+指数位+尾数位
      • 注:浮点数都是有符号的
  • 演示
package main import(	"fmt")func main()  {	var n1 float32 = -0.000345	var n2 float64 = -36274672.005	fmt.Println("n1 = ", n1, "n2 = ", n2)}
  • 输出结果


  • 浮点数=符号位+指数位+尾数位,尾数部分可能丢失,造成精度损失
  • 案例
package main import(	"fmt")func main()  {	var n1 float32 = -123.0000789	var n2 float64 = -123.0000789	fmt.Println("n1 = ", n1, "n2 = ", n2)}
  • 输出结果

  • 说明:
    • float64 的精度比 float32 的要准确
    • 如果我们要保存一个精度高的数,则应该选用 float64
    • 浮点型的存储分为三部分:符号位+指数位+尾数位 在存储过程中,精度会有丢失

  • 浮点类型使用细节:
    • Golang 浮点类型有固定的范围和字段长度,不受具体 OS(操作系统)的影响
    • Golang 的浮点型默认声明为 float64 类型。
package main import(	"fmt")//Golang 的浮点型默认声明为 float64 类型func main()  {	var n1 = 1.414	fmt.Printf("n1 的数据类型是 %T ", n1 )}
  • 输出结果为:


  • 浮点型常量有两种表示形式
    • 十进制数形式:如:5.12       .512 (必须有小数点
    • 科学计数法形式如:5.1234e2 = 5.12 * 10 2 次方 5.12E-2 = 5.12/10 2 次方
  • 十进制数形式案例
//十进制数形式:如:5.12 .512 (必须有小数点)n1 := 1.414n2 := .1415fmt.Println("n1 = ", n1 , "n2 = ", n2 )
  • 输出结果


  • 科学计数法形式案例
//5.1234e2 = 5.12 * 10 的 2 次方 n1 := 5.1234e2 //5.12E-2 = 5.12/(10 的 2 次方)n2 := 5.12E-2fmt.Println("n1 = ", n1 , "n2 = ", n2 )
  • 输出结果

  • 备注:
    • 通常情况下,应该使用 float64 ,因为它比 float32 更精确。[开发中,推荐使用 float64]

转载地址:http://pjur.baihongyu.com/

你可能感兴趣的文章
Kubernetes十三--Pod定义文件内容详解
查看>>
3、69道Spring面试题及答案
查看>>
普歌- LRF-(简单易懂)笔记本电脑USB接口案例 接口多态(向下转型)
查看>>
Java中如何构建树结构
查看>>
若依启动流程
查看>>
解决vue部署到nginx后刷新404
查看>>
解决eclipse字体背景变红或者变绿的问题
查看>>
一个面试大牛的经历
查看>>
扫雷小游戏——简单易懂
查看>>
将ip地址用整形保存
查看>>
软件架构-zookeeper快速入门
查看>>
软件架构-zookeeper场景和实现
查看>>
自己的利益靠自己争取,开发就是这么坑!
查看>>
「初级篇」跟我一起学docker(四)--容器的基本操作
查看>>
22 岁毕业做程序员的「普通」人,50 岁时的人生轨迹是怎样的?
查看>>
『高级篇』docker之安全认证kubernetes命令熟悉(40)
查看>>
scala上界与下界、协变与逆变
查看>>
java稀疏数组
查看>>
springboot解决前后端交互跨域问题
查看>>
全球数字货币加快研发
查看>>