博客
关于我
Golang小数类型/浮点型
阅读量:195 次
发布时间:2019-02-28

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

一 基本介绍

小数类型就是用于存放小数的,比如 1.2 0.23 -1.911。

二 小数类型分类

1 关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位。

浮点数都是有符号的.

2 尾数部分可能丢失,造成精度损失。 -123.0000901

float64 的精度比 float32 的要准确。

如果我们要保存一个精度高的数,则应该选用 float64。

3 浮点型的存储分为三部分:符号位+指数位+尾数位,在存储过程中,精度会有丢失。

三 浮点型使用细节

1 Golang 浮点类型有固定的范围和字段长度,不受具体 OS(操作系统)的影响。

2 Golang 的浮点型默认声明为 float64 类型。

3 浮点型常量有两种表示形式

十进制数形式:如:5.12 .512 (必须有小数点)。

科学计数法形式:如:5.1234e2 = 5.12 * 10 的 2 次方 5.12E-2 = 5.12/10 的 2 次方。

4 通常情况下,应该使用 float64 ,因为它比 float32 更精确。

开发中,推荐使用 float64。

四 实战

1 代码

package mainimport (   "fmt"   "unsafe")// 演示 golang 中小数类型使用func main() {   var price float32 = 89.12   fmt.Println("price=", price)   var num1 float32 = -0.00089   var num2 float64 = -7809656.09   fmt.Println("num1=", num1, "num2=", num2)   // 尾数部分可能丢失,造成精度损失。 -123.0000901   var num3 float32 = -123.0000901   var num4 float64 = -123.0000901   fmt.Println("num3=", num3, "num4=", num4)   // Golang 的浮点型默认声明为 float64 类型   var num5 = 1.1   fmt.Printf("num5的数据类型是 %T \n", num5)   // 十进制数形式:如:5.12 .512   (必须有小数点)   num6 := 5.12   num7 := .123 // 0.123   fmt.Println("num6=", num6, "num7=", num7)   // 科学计数法形式   num8 := 5.1234e2 // 5.1234 * 10的2次方   num9 := 5.1234E2 // 5.1234 * 10的2次方   num10 := 5.1234E-2 // 5.1234 / 10的2次方 = 0.051234   fmt.Println("num8=", num8, "num9=", num9, "num10=", num10)   var c1 rune = '北'   fmt.Println("c1=", c1, unsafe.Sizeof(c1))}

2 运行结果

price= 89.12num1= -0.00089 num2= -7.80965609e+06num3= -123.00009 num4= -123.0000901num5的数据类型是 float64num6= 5.12 num7= 0.123num8= 512.34 num9= 512.34 num10= 0.051234c1= 21271 4

 

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

你可能感兴趣的文章
Nacos基础版 从入门到精通
查看>>
Nacos如何实现Raft算法与Raft协议原理详解
查看>>
Nacos安装教程(非常详细)从零基础入门到精通,看完这一篇就够了
查看>>
Nacos实战攻略:从入门到精通,全面掌握服务治理与配置管理!(上)
查看>>
Nacos实战攻略:从入门到精通,全面掌握服务治理与配置管理!(下)
查看>>
Nacos心跳机制实现快速上下线
查看>>
nacos报错com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
查看>>
Nacos服务注册与发现demo
查看>>
Nacos服务注册与发现的2种实现方法!
查看>>
nacos服务注册和发现原理简单实现案例
查看>>
Nacos服务注册总流程(源码分析)
查看>>
nacos服务注册流程
查看>>
Nacos服务部署安装
查看>>
nacos本地可以,上服务器报错
查看>>
Nacos注册Dubbo(2.7.x)以及namespace配置
查看>>
Nacos注册中心有几种调用方式?
查看>>
nacos注册失败,Feign调用失败,feign无法注入成我们的bean对象
查看>>
nacos源码 nacos注册中心1.4.x 源码 nacos源码如何下载 nacos 客户端源码下载地址 nacos discovery下载地址(一)
查看>>
nacos源码 nacos注册中心1.4.x 源码 spring cloud alibaba 的discovery做了什么 nacos客户端是如何启动的(二)
查看>>
Nacos简介、下载与配置持久化到Mysql
查看>>