"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني الاستفادة من الموارد المحلية للنظام لتنسيق العملة في Go؟

كيف يمكنني الاستفادة من الموارد المحلية للنظام لتنسيق العملة في Go؟

تم النشر بتاريخ 2024-11-09
تصفح:759

How Can I Leverage System Locale Resources for Currency Formatting in Go?

تنسيق العملة في Golang باستخدام العملة. الرمز من golang.org/x/text/currency

استخدام موارد لغة النظام

عند استخدام golang. org/x/text/currency لتنسيق قيم العملة في Golang، فمن الممكن استرداد التنسيق المناسب من لغة النظام من خلال الاستفادة من وظائف DisplayTags وFromTag. توفر وظيفة DisplayTags أسماء محلية للغات، وتقوم FromTag باسترداد العملة بناءً على علامة اللغة.

n := display.Tags(language.English)
for _, lcode := range []string{"en_US", "pt_BR", "de", "ja", "hi"} {
    lang := language.MustParse(lcode)
    cur, _ := currency.FromTag(lang)
    scale, _ := currency.Cash.Rounding(cur) // fractional digits
    dec := number.Decimal(100000.00, number.Scale(scale))
    p := message.NewPrinter(lang)
    p.Printf("$v (%v): %v%v\n", n.Name(lang), cur, currency.Symbol(cur), dec)
}

// Output:
//         American English (USD): $100,000.00
//     Brazilian Portuguese (BRL): R$100.000,00
//                   German (EUR): €100.000,00
//                 Japanese (JPY): ¥100,000
//                    Hindi (INR): ₹1,00,000.00

تحديد اللغة ورموز ISO

بدلاً من ذلك، يمكنك تحديد اللغة أو رمز عملة ISO بشكل صريح لاسترداد تنسيق العملة الصحيح. ومع ذلك، يجب عليك توفير اللغة التي سيتم تنسيق الرقم بها:

// Parse ISO currency code and specify language
for _, iso := range []string{"USD", "BRL", "EUR", "JPY", "INR"} {
    cur := currency.MustParseISO(iso)
    scale, _ := currency.Cash.Rounding(cur) // fractional digits
    dec := number.Decimal(100000.00, number.Scale(scale))
    p := message.NewPrinter(language.English)
    p.Printf("%v: %v%v\n", cur, currency.Symbol(cur), dec)
}

// Output:
// USD: $100,000.00
// BRL: R$100,000.00
// EUR: €100,000.00
// JPY: ¥100,000
// INR: ₹100,000.00
بيان الافراج تم نشر هذه المقالة على: 1729688479 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3