色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

go json保留2位小數

錢多多1年前9瀏覽0評論

Go語言是一種強類型、靜態編譯的程序語言,它內置了對JSON數據的支持。JSON是一種輕量級的數據交換格式,由于它簡單易讀、易于解析和生成,因此廣泛應用于互聯網和移動應用程序中。在Go語言中處理JSON,我們有時需要對數字進行精度控制,比如只保留小數點后兩位。那么,如何在Go語言中實現JSON精度控制呢?

type Money struct {
Amount float64 `json:"amount"`
}
var money = Money{123.456789}
b, err := json.Marshal(money)
if err != nil {
log.Fatalln(err)
}
fmt.Println(string(b))                     // {"amount":123.456789}
b, err = json.Marshal(convert(money))
if err != nil {
log.Fatalln(err)
}
fmt.Println(string(b))                     // {"amount":123.46}
func convert(m Money) Money {
return Money{Amount: math.Round(m.Amount*100) / 100}
}

上述代碼定義了一個Money結構體類型,它包含一個float64類型的Amount字段,使用json標簽指定了JSON序列化時的字段名。接著,我們創建了一個Money類型的變量money,并將其編碼為JSON格式的字符串,輸出結果為{"amount":123.456789}。

為了只保留小數點后兩位,我們編寫了一個名為convert的函數,該函數將Money類型的變量進行了轉換。它先將Amount乘以100,再進行四舍五入,最后將結果除以100,即可保留兩位小數。我們再次將money變量編碼為JSON格式的字符串,輸出結果為{"amount":123.46},可以看到只保留了小數點后兩位。

總的來說,在Go語言中對JSON數據進行精度控制是非常簡單的,只需要運用一些基本的數學運算即可。希望以上方法對大家有所幫助!