Golang 基础(十三)浮点型

Overview

  • folat来表示非精确表示小数
    • float32,用32位(4个字节)来存储浮点型
    • float64,用64位(8个字节)来存储浮点型
  • 由于float是表示非精确小数,则无法很好的进行加减乘除运算等,因此需要引用另一个包:decimal
  • decimal 来表示精确小数(Go语言内部没有decimal)

Description

1)安装decimal 

go get github.com/shopspring/decimal

命令执行完后,会在$GOPATH\pkg\mod的目录下就会出现github.com\shopspring\decimal@vx.x.x的目录,这就是第三方模块安排的位置

2)使用decimal

  • 导入decimal包
    import "github.com/shopspring/decimal"
  • 使用decimal包
    var 变量 = decimal.NewFromFloat(小数)
  • 使用decimal进行加减乘除
    • 相加
      var 变量1 = decimal.NewFromFloat(小数)
      var 变量2 = decimal.NewFromFloat(小数)
      变量3 := 变量1.Add(变量2)
    • 相减
      var 变量1 = decimal.NewFromFloat(小数)
      var 变量2 = decimal.NewFromFloat(小数)
      变量3 := 变量1.Sub(变量2)
    • 相乘
      var 变量1 = decimal.NewFromFloat(小数)
      var 变量2 = decimal.NewFromFloat(小数)
      变量3 := 变量1.Mul(变量2)
    • 相除
      var 变量1 = decimal.NewFromFloat(小数)
      var 变量2 = decimal.NewFromFloat(小数)
      变量3 := 变量1.Div(变量2)
  • 使用decimal进行四舍五入Round
    var 变量 = decimal.NewFromFloat(小数)
    变量.Round(位数) ---代表保留几位小数
  • 使用decimal进行Truncate
    var 变量 = decimal.NewFromFloat(小数)
    变量.Truncate(位数) ---保留几位小数但不进行四舍五入

例子

package main

import (
	"fmt"
	"github.com/shopspring/decimal"
)

func main() {
	var n1 = decimal.NewFromFloat(1.2345678)
	var n2 = decimal.NewFromFloat(2.3456789)
	//相加
	n4 := n1.Add(n2)
	fmt.Println(n4)
	//相减
	n5 := n1.Sub(n2)
	fmt.Println(n5)
	//相乘
	n6 := n1.Mul(n2)
	fmt.Println(n6)
	//相除
	n7 := n1.Div(n2)
	fmt.Println(n7)
}

Golang 基础(十四)布尔型-优快云博客

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值