• 欢迎访问1024小神,一个只会Python的程序猿不是一个好司机
  • 有什么想对我说的可以在留言板里给我留言哦~
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏1024小神吧

float32转成float64出现的精度问题

Golang Jason 1周前 (06-08) 23次浏览 1个评论
package main

import (
   "fmt"
   "github.com/spf13/cast"
)

func main() {
   var float1 = float32(0.01)
   f64 := float64(float1) // 会存在精度丢失问题:0.009999999776482582
   fmt.Println(f64)

   fnew := cast.ToFloat64(cast.ToString(float1))  // 不会存在问题
   fmt.Println(fnew)

   // pg数据库里面存储的numeric(38, 16)其实是float64位,所以在项目中使用最好使用float64,否则会出现精度问题
   
}


如有失效,请留言告知丨转载请注明原文链接:float32转成float64出现的精度问题
点赞 (0)

您必须 登录 才能发表评论!

(1)个小伙伴在吐槽
  1. luming
    多谢指点 有懂了些
    2021-06-10 17:24