美文网首页
Golang Float高精度计算,无误差

Golang Float高精度计算,无误差

作者: VANCY_2ddc | 来源:发表于2020-01-12 00:23 被阅读0次

Golang Float乘Float高精度,转Int高精度。

使用big.Float

bigF1 := new(big.Float).SetFloat64(f1)

bigF2 := new(big.Float).SetFloat64(f2)

mul := new(big.Float).Mul(bigF1, bigF2)

转Int,先用上面的方法转为big.Float,再用.String转为字符串。

new(big.Int).SetString(bigFloat, 10) // 即可转为big.Int

// big.Int可转为常用的int类型。

// big.Float可转为常用的Float类型。

// big.Float不能直接转为Int类型。

func Sub(x float64, y float64, more ...float64) float64 {

  floatX := new(big.Float).SetFloat64(x)

  floatY := new(big.Float).SetFloat64(y)

  result := new(big.Float).Sub(floatX, floatY)

  if len(more) > 0 {

      for _, m := range more {

        floatM := new(big.Float).SetFloat64(m)

        result = new(big.Float).Sub(result, floatM)

}

}

  f, _ := strconv.ParseFloat(result.String(), 64)

  return f

}

相关文章

  • Golang Float高精度计算,无误差

    Golang Float乘Float高精度,转Int高精度。 使用big.Float bigF1 := new(b...

  • 随机数生成

    因为float计算的时候回有误差,所以建议直接使用int然后再转为float

  • 1数据结构

    def sizeof 看int的字节是4 赋值计算,自右向左计算。 数据溢出 舍入误差 float浮点数据 \n...

  • iOS下接入Lua

    1、Armv7平台 iPhone5的CPU直接使用的浮点计算方法有误差,会导致 double 的高精度比较与计算出...

  • iOS NSDecimalNumber货币计算

    在iOS开发中,遇到和货币价格计算相关的,对计算精度要求比较高。使用float类型运算,经常出现误差。为了解决这种...

  • NSDecimalNumber

    在iOS开发中,进场遇到货币价格相关的计算,这是我们需要注意计算精度的问题。使用float类型运算,经常出现误差,...

  • iOS中NSDecimalNumber使用

    在iOS开发中,经常遇到和货币价格计算相关的,这时就需要注意计算精度的问题。使用float类型运算,经常出现误差。...

  • NSDecimalNumber的用法

    在iOS开发中,和货币价格计算相关的,需要注意计算精度的问题。即使只是两位小数,也会出现误差。使用float类型运...

  • NSDecimalNumber数字精确

    在iOS开发中,和货币价格计算相关的,需要注意计算精度的问题。即使只是两位小数,也会出现误差。使用float类型运...

  • iOS NSDecimalNumber 精度计算

    在iOS开发中,和货币价格计算相关的,需要注意计算精度的问题。即使只是两位小数,也会出现误差。使用float类型运...

网友评论

      本文标题:Golang Float高精度计算,无误差

      本文链接:https://www.haomeiwen.com/subject/woefxxtx.html