在Go中使用Currency.Symbol格式化貨幣值
在Go中,golang.org/x/text/currency包提供了格式化貨幣值的全面解決方案。該軟體包允許開發人員使用貨幣代碼、符號和本地化訊息,以人類可讀的格式格式化值。
以下範例示範如何使用貨幣.符號來格式化貨幣值:
<code class="go">unit, _ := currency.ParseISO("BRL") p := message.NewPrinter(language.BrazilianPortuguese) result := p.Sprint(currency.Symbol(unit.Amount(float64(valor) / 100)))</code>
上述程式碼的輸出是「R$ 123.456,78」。但是,如果您獲得的格式包含點而不是逗號且沒有千位分隔符,則可能是由於未在訊息中設定適當的區域設定或語言。 NewPrinter 函數。
要使用系統區域設定資源,您可以指定訊息中的語言。 NewPrinter 函數如下:
<code class="go">import ( "fmt" "golang.org/x/text/currency" "golang.org/x/text/language" "golang.org/x/text/message" ) func main() { // Get the current locale locale, err := language.Parse(language.Default()) if err != nil { panic(err) } // Use the locale to create a message printer p := message.NewPrinter(locale) // Format the currency value using currency.Symbol fmt.Println(p.Sprintf("%v", currency.Symbol(currency.MustParseISO("USD"), 12345678))) }</code>
此方法會自動使用系統的區域設定來格式化貨幣值。例如,如果系統區域設定為“en_US”,則輸出將為“$12,345,678.00”。
透過結合使用currency.Symbol函數和message.NewPrinter函數以及正確的區域設定處理,您可以以多種區域設定和貨幣格式有效地格式化貨幣值。
以上是如何在Go中使用Currency.Symbol使用逗號和千位分隔符號格式化貨幣值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!