使用golang.org/x/text/currency 進行貨幣格式化
在Go 中將值格式化為貨幣時,golang .org/x /text/currency 包提供了一個方便的解決方案。但是,如果輸出顯示沒有逗號或千位分隔符,本文將探討潛在的原因和解決方案。
格式不正確:點與逗號
在提供的程式碼中,問題是由於直接使用currency.Symbol 而不是使用message.NewPrinter 提供的更全面的格式而產生的。正確的方法是使用message.NewPrinter 來處理適當的特定語言的格式:
系統區域設定資源
要使用系統區域設定資源格式化貨幣,該解決方案需要從語言代碼推斷格式。這可以使用display.Tags 來實現:
或者,可以解析ISO 貨幣代碼,但必須單獨指定輸出語言:
舍入要求
某些貨幣需要按增量舍入(例如0.05 或0.50)。為了適應這種情況,需要進行額外的處理來向Decimal 格式化程序提供正確的IncrementString:
透過利用這些方法,可以使用golang.org/x/text/ 在Go 中格式化貨幣值貨幣,同時確保基於系統區域設定資源或ISO 貨幣代碼的正確本地化和格式設定。
以上是如何使用 golang.org/x/text/currency 修復 Go 中的貨幣格式問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!