为了账号安全,请及时绑定邮箱和手机立即绑定

JSON 对象在结构中返回错误的数字

JSON 对象在结构中返回错误的数字

Go
holdtom 2022-08-09 16:16:29
我已经为一个API创建了一个结构,我从中获得了总价。这个数字类似于93.640000000000000005684341886080801486968994140625 我已经在结构中将其类型设置为float64,但是当访问数据时,一旦它被解析到结构中,数字就会变成2664或完全错误的东西,以数千为单位。是我使用的错误类型还是其他东西?
查看完整描述

1 回答

?
千巷猫影

TA贡献1829条经验 获得超7个赞

不确定您做了什么来获取数据,但此代码以精确的精度获取数据


package main


import (

    "encoding/json"

    "fmt"

)


type Bill struct {

    Total float64 `json:"total"`

}


func main() {

    data := []byte(`{"total": 93.6400000000000005684341886080801486968994140625}`)


    var b Bill


    err := json.Unmarshal(data, &b)

    if err != nil {

        panic(err)

    }

    fmt.Printf("%.100f", b.Total)

}


查看完整回答
反对 回复 2022-08-09
  • 1 回答
  • 0 关注
  • 75 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信