首頁 >後端開發 >Golang >在 Go 中將浮點數編組為 JSON 時如何保留尾隨零?

在 Go 中將浮點數編組為 JSON 時如何保留尾隨零?

Susan Sarandon
Susan Sarandon原創
2024-11-28 08:21:12531瀏覽

How Can I Preserve Trailing Zeros When Marshaling Floats to JSON in Go?

JSON 編組與浮點數尾隨零

問題:

問題:

問題:

將浮點數編為編號JSON 時使用json.Marshal(),尾隨零被刪除,可能會導致問題使用外部程式解析 JSON 時。

    解決方案:
  • 要保留 JSON 輸出中的尾隨零​​,一種方法是定義自訂 float 類型並提供為其自訂 MarshalJSON() 方法。
  • 在此實現:

KeepZero 類型包裝了 float64 類型。

MarshalJSON() 方法檢查 float 是否為整數(沒有小數部分)。如果是這樣,它使用精度為 1 位小數的 strconv.FormatFloat() 函數來確保保留尾隨零。

否則,它使用精確度-1 來避免指定固定的小數位數places.

範例:此範例將產生所需的JSON 輸出:

以上是在 Go 中將浮點數編組為 JSON 時如何保留尾隨零?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn