big.Float GetString不四舍五入

时间:2018-07-06 13:52:47

标签: go

我想查看结果:没有“ 3891113451447590400”的“ 3891113451447590234”

v-radio-group v-model="selectedList" :mandatory="false"

1 个答案:

答案 0 :(得分:2)

big.NewFloat函数将默认精度设置为53。

  

NewFloat分配并返回设置为x的新Float,精度为53,舍入模式为ToNearestEven。如果x是NaN,NewFloat会出现ErrNaN恐慌。

如果要设置精度更高的值,则可以直接设置精度,也可以使用零值big.Float从精度0开始,该值确定第一次设置该值时所需的精度。 / p>

f1, _, _ := new(big.Float).SetPrec(128).SetMode(big.ToNearestEven).Parse("3891113451447590234", 10)
// equivalent to
// big.ParseFloat("3891113451447590234", 10, 128, big.ToZero)
fmt.Println(f1)
// 3.891113451447590234e+18

i, _ = new(big.Int).SetString("3891113451447590234", 10)
f2 = new(big.Float).SetInt(i)
fmt.Println(f2)
// 3.891113451447590234e+18