»
15. High Precision Computation
Go语言中的高精度数据类型在math/big包中,有BigInt、BigFloat和BigRat三种数据类型,分别表示大整数、大浮点数、高精度有理数(分数)。具体的应用为:
import (
"fmt"
"math/big"
"log"
)
var bigInt = big.NewInt(0)
if _, success := bigInt.SetString("1", 10); success == false {
log.Fatal("设置值失败")
}
fmt.Println(bigInt)
var bigFloat, success = big.NewFloat(0.0).SetString("1.5")
if !success {
log.Fatal("设置值失败")
}
fmt.Println(bigFloat)
var bigRat1 = big.NewRat(1, 3)
var bigRat2 = big.NewRat(1, 5)
var bigRat3 = big.NewRat(1, 1)
bigRat3.Mul(bigRat1, bigRat2)
fmt.Println(bigRat3.RatString(), bigRat1, bigRat2)
打印结果为:
1
1.5
1/15 1/3 1/5
————www.v-signon.com学习者共勉