Bagaimana Mengendalikan Pemformatan Mata Wang di Golang?

Barbara Streisand
Lepaskan: 2024-10-24 03:22:02
asal
123 orang telah melayarinya

How to Handle Currency Formatting in Golang?

Pemformatan Mata Wang yang Betul di Golang

Apabila bekerja dengan pemformatan mata wang, adalah penting untuk mempertimbangkan keperluan khusus untuk setiap gabungan mata wang dan bahasa. Menggunakan golang.org/x/text/currency, anda boleh memformat nilai dengan mudah berdasarkan konvensyen tempatan. Walau bagaimanapun, anda mungkin menghadapi beberapa cabaran dalam mendapatkan output yang diingini.

Menggunakan Simbol Mata Wang

Dalam kod anda, anda menggunakan mata wang.Simbol untuk mendapatkan semula simbol mata wang bagi kod ISO yang ditentukan. Walau bagaimanapun, apabila menggunakan kaedah ini tanpa menyediakan konteks bahasa, anda mungkin tidak mendapat pemisah yang dijangkakan atau pemformatan nombor.

Menggabungkan Format Setempat

Daripada cuba mencipta secara manual format anda, anda boleh memanfaatkan pakej paparan dan mesej untuk mendapatkan semula format yang sesuai secara automatik berdasarkan bahasa dan wilayah. Berikut ialah contoh:

<code class="go">import (
    "fmt"

    "golang.org/x/text/currency"
    "golang.org/x/text/language"
    "golang.org/x/text/message"
)

func formatCurrency(value int64, currencyCode string, languageCode string) string {
    lang, _ := language.Parse(languageCode)
    p := message.NewPrinter(lang)

    unit, _ := currency.ParseISO(currencyCode)
    return p.Sprintf("%v%v", currency.Symbol(unit), float64(value))
}</code>
Salin selepas log masuk

Fungsi ini mengambil nilai, kod mata wang dan kod bahasa serta mengembalikan rentetan mata wang yang diformat dengan betul.

Mengendalikan Unit Penambahan

Sesetengah mata wang mempunyai unit kenaikan tetap, seperti 5 atau 10 sen. Untuk mengambil kira perkara ini, anda boleh menggunakan pakej nombor untuk menentukan kenaikan:

<code class="go">import (
    "golang.org/x/text/currency"
    "golang.org/x/text/number"
)

func formatWithIncrement(value int64, currencyCode string, increment int) string {
    unit, _ := currency.ParseISO(currencyCode)
    scale, inc := currency.Cash.Rounding(unit)
    dec := number.Decimal(float64(value), number.Scale(scale), number.IncrementString(fmt.Sprintf("%.2f", float64(inc))))
    return fmt.Sprintf("%v%v", currency.Symbol(unit), dec)
}</code>
Salin selepas log masuk

Dengan menyediakan konteks bahasa, membuat kesimpulan format mata wang daripada kod bahasa dan mempertimbangkan unit kenaikan, anda boleh membuat yang fleksibel dan tepat penyelesaian pemformatan mata wang di Golang menggunakan golang.org/x/text/currency.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Pemformatan Mata Wang di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!