Golang小数精度问题

313 阅读1分钟

Golang小数精度问题

github:github.com/shopspring/…

实例

package main

import (
  "fmt"
)

func main() {
  a := 2.55
  var b float64 = 0
  fmt.Println((a + b) * 100) // output:254.99999999999997
  // a := decimal.NewFromFloat(2.55)
  // b := decimal.NewFromFloat(0)
  // fmt.Println(a.Add(b).Mul(decimal.NewFromFloat(100))) // output:255
}

小数保留(四舍五入)

dd := decimal.NewFromFloatWithExponent(12.125321, -2)
fmt.Println(dd)// output:12.13