3
は私が持っているように、構造体:私は私のMsg
構造体にそのJSONメッセージを非整列化したいその後、メッセージキューからjson
にメッセージを持って、その後Golang数学/ビッグ非整列化ロスト精密
type Msg struct {
F1 *big.Float `json:"F1,string"`
}
:
// jsonMsg = {"F1": "1000314.451234"}
var msg Msg
json.Unmarshal(jsonMsg, &msg)
しかし、私は得た:
fmt.Println("go object:",msg.F1.String()) // 1000314.45, precision lost
ので精度がLoであります私の文字列"1000314.451234"
がゴーランのMsg
オブジェクトにアンマーシャリングされているとき。これがバグなのだろうか?どのように完全精度を得ることができますか?ありがとう。
はい。デフォルトでは、string関数はmsg.Text( 'g'、10)を使用するため、精度が失われたように見えます。 "fmt.Println(" go object: "、msg.F1.Text( 'f'、6))"は、失われていないことがわかります。 私も同じことを投稿しようとしていましたが、あなたは私にそれを打ち負かしました。 – khrm