Golang的基础数据类型-浮点型

                            作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.浮点型概述

  Go语言提供两种精度的浮点数,即float32和float64,其中float32占用4个字节大小,而float64占用8个字节大小。

  这些浮点数类型的取值范围极限值可以在Golang的math包中找到:
    常量math.MaxFloat32表示folat32能取到的最大数值,如下图所示,Go语言定义为:3.40282346638528859811704183484516925440e+38;
    常量math.SmallestNonzeroFloat32表示folat32能取到的最小数值,如下图所示,Go语言定义为:1.401298464324817070923729583289916131280e-45
    常量math.MaxFloat64表示folat64能取到的最大数值,如下图所示,Go语言定义为:1.797693134862315708145274237317043567981e+308;
    常量math.MaxFloat64表示folat64能取到的最小数值,如下图所示,Go语言定义为:4.940656458412465441765687928682213723651e-324;   浮点数都是相对精准的,存在一定的误差:
    float32类型的浮点数可以提供约6个十进制数的精度,即按照四舍五入法默认小数点后保留六位。
    float64类型的浮点数可以提供约15个十进制数的精度,即按照四舍五入法默认小数点后保留十五位。   通常应该优先使用float64类型,因为float32类型的累计祭祀按无法很容易扩散,并且float32能精确表示正整数并不是很大。

二.浮点型简单应用案例

1>.单精度浮点型float32应用案例

2>.双精度浮点型float64应用案例

package main

import (
"fmt"
) func main() {
/*
温馨提示:
自动推导类型命名的浮点数类型默认为float64.
*/
a := 3.141592653589
var b float64 = 1.618033988749
/*
3.141592653589 x 1.618033988749 = 5.083203592311165 但是单精度浮点型小数点后默认保留六位,最终结果四舍五入法得到的结果为:5.083204
*/
var c float64 = a * b fmt.Printf("a的类型为:[%T],a的值为:[%f]\n", a, a)
fmt.Printf("b的类型为:[%T],b的值为:[%f]\n", b, b)
fmt.Printf("c的类型为:[%T],c的值为:[%f]\n", c, c) fmt.Printf("a x b = %f\n", c) /*
%.1f:
表示小数点后按照四舍五入法保留1位有效数字
%.2f:
表示小数点后按照四舍五入法保留2位有效数字
%.3f:
表示小数点后按照四舍五入法保留3位有效数字
...:
综上所述,依此类推即可....
*/
fmt.Printf("a x b = %.1f\n", c)
fmt.Printf("a x b = %.2f\n", c)
fmt.Printf("a x b = %.3f\n", c)
}

3>.使用浮点数的注意事项

package main

import (
"fmt"
) func main() {
/*
使用浮点数注意事项:
(1)默认浮点数类型为float64;
(2)浮点数的简写形式,生产环境中并不推荐大家这样写,可读性差.
1>.如果小数部分为0,可以省略整数部分
2>.如果小数部分为0,可以省略小数部分
(3)使用科学计数法表示数据
可以使用%e占位符来表示科学计数法,了解即可,生产环境中使用相对较少。
*/ //整数部分为0可以省略不写
a := .
fmt.Printf("a的类型为:[%T],a的值为:[%f]\n", a, a) //小数部分为0可以省略不写
b := .
fmt.Printf("b的类型为:[%T],b的值为:[%f]\n", b, b) c := 50832036.9
fmt.Printf("c的类型为:[%T],c的值为:[%f]\n", c, c) //使用科学计数法表示变量c对应的值e
d := 5.08320369e7
fmt.Printf("d的类型为:[%T],d的值为:[%f]\n", d, d)
fmt.Printf("d的类型为:[%T],d的值使用科学计数法表示为:[%e]\n", d, d)
fmt.Printf("d的类型为:[%T],d的值使用科学计数法表示为:[%E]\n", d, d)
}

Golang的基础数据类型-浮点型的更多相关文章

  1. Golang的基础数据类型-字符串型

    Golang的基础数据类型-字符串型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符型概述 上一篇博客学习了使用单引号括起来的单个字符就是字符类型,在Golang中有两种表 ...

  2. Golang的基础数据类型-字符型

    Golang的基础数据类型-字符型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符型概述 Go语言中的字符有两种,即uint8类型和rune类型. uint8类型: 我们也 ...

  3. Golang的基础数据类型-整型

    Golang的基础数据类型-整型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.整型概述 Go语言的整数类型一共有10个. int: 默认是有符号(signed)整形,占用空间 ...

  4. Golang的基础数据类型-布尔型

    Golang的基础数据类型-布尔型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.bool类型概述 bool类型的取值范围: bool类型的值只有两种,其值不为真即为假,可以用 ...

  5. GoLang基础数据类型--->字典(map)详解

    GoLang基础数据类型--->字典(map)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   可能大家刚刚接触Golang的小伙伴都会跟我一样,这个map是干嘛的,是 ...

  6. GoLang基础数据类型-切片(slice)详解

    GoLang基础数据类型-切片(slice)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 数组的长度在定义之后无法再次修改:数组是值类型,每次传递都将产生一份副本.显然这种数 ...

  7. GoLang基础数据类型--->数组(array)详解

    GoLang基础数据类型--->数组(array)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Golang数组简介 数组是Go语言编程中最常用的数据结构之一.顾名 ...

  8. GoLang基础数据类型--->字符串处理大全

    GoLang基础数据类型--->字符串处理大全 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:   高级运维工程师之路               59843264 ...

  9. golang语言基础(一)

    0.项目的组织结构: GOPATH路径下是src文件夹---->src文件夹下是项目名称---->项目名称下是该项目的各个包名---->各包名下是.go文件(一个包下,无论有多少个. ...

随机推荐

  1. 帆软FineReport报表使用小技巧

    1.IF函数写法: =IF(E3=0 && F3=0 && G3=0,1,0)

  2. IIS URL Rewrite(URL 重写)-使用教程

    IIS URL Rewrite(URL 重写)-使用教程 作者:vkvi 来源:千一网络(原创) 日期:2011-8-17  http://www.cftea.com/c/2011/08/9CRXOL ...

  3. Django 学习之中间件Middleware

    一.中间件介绍 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨慎实用,用不好会影响 ...

  4. Flask 教程 第二十三章:应用程序编程接口(API)

    本文翻译自The Flask Mega-Tutorial Part XXIII: Application Programming Interfaces (APIs) 我为此应用程序构建的所有功能都只适 ...

  5. java猜拳

    import java.util.Scanner; public class startGuess { Person jia; Computer yi; int count; public void ...

  6. 《Netlogo多主体建模入门》笔记3

    3- 用“生命游戏”认识Patch     代码:   patches-own[living] to setup clear-all ask patches [ < 0.3[ set pcolo ...

  7. 小米xiaomi9 google play卡在检查信息

    终于在今年淘汰掉用了三年的果6s,换了小米9 ,结果发现科学..上网后,可以正常打开google网页,却无法登陆,gmail也无法使用.一直卡在“正在核对信息”. 检查服务,小米9 全系列自带了谷歌框 ...

  8. 三级联动下拉列表——php 、Ajax

    主页面:<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF- ...

  9. 1-6SpringBoot之事务管理@Transactional

    以前学ssh ssm都有事务管理service层通过applicationContext.xml配置,所有service方法都加上事务操作: 用来保证一致性,即service方法里的多个dao操作,要 ...

  10. 开源Web测试工具介绍

    HtmlUnitHtmlUnit 是 JUnit 的扩展测试框架之一.HtmlUnit 将返回文档模拟成 HTML,这样您便可以直接处理这些文档了.HtmlUnit 使用例如 table.form 等 ...