decimal
1. godecimal
Go语言内部没有decimal。
第三方包,则需要在本地的Go环境中先安装再使用。第三方包源码地址:https://github.com/shopspring/decimal 。
第一步:安装第三发的包
go get github.com/shopspring/decimal
命令执行完成之后,在 $GOPATH/src
的目录下就会出现 github/shopspring/decimal
的目录,这就是第三方模块安排的位置。
第二步:使用decimal包
package main
import (
"fmt"
"github.com/shopspring/decimal"
)
func main() {
var v1 = decimal.NewFromFloat(0.0000000000019)
var v2 = decimal.NewFromFloat(0.29)
var v3 = v1.Add(v2)
var v4 = v1.Sub(v2)
var v5 = v1.Mul(v2)
var v6 = v1.Div(v2)
fmt.Println(v3, v4, v5, v6) // 输出:0.2900000000019(也可以调用String方法)
var price = decimal.NewFromFloat(3.4626)
var data1 = price.Round(1) // 保留小数点后1位(四舍五入)
var data2 = price.Truncate(1) // 保留小数点后1位
fmt.Println(data1, data2) // 输出:3.5 3.4
}
\