فرمت ارزی در Golang با استفاده از ارز. symbol از golang. org/x/text/currency

ساخت وبلاگ

سلام من روی یک تابع کار می کنم تا مقادیر ارز را قالب بندی کنم. من برای این کار از golang. org/x/text/currency استفاده می کنم ، اما با امتیاز در محل کاما و هزاران جداکننده ، بازده را دریافت می کنم.

Func (Produto *produto) FormatApreco (Valor Int64) رشته

نتیجه مورد انتظار باید R 123. 456،78 دلار باشد اما من 123456. 78 دلار R دریافت می کنم --- ویرایش --- من یک نسخه را با استفاده از مقادیر سخت کد انجام دادم ، اما من یک راه حل را می خواهم که از منابع محلی سیستم استفاده کند.

Func (Produto *produto) FormatApreco (Valor Int64) رشته

 

دنبال کردن آندره جی آندراد از 13 دسامبر 2017 در 19:48 پرسید André G. Andrade André G. Andrade 481 11 11 نشان نقره 21 21 نشان برنز

من هیچ نشانه ای در مستندات X/Text/Everrency نمی بینم که دلالت بر این دارد که گروه بندی های رقمی به هیچ وجه به هیچ وجه قالب بندی می کنند. این نماد ارز را همانطور که انتظار می رود ، ارائه می دهد ، این همان چیزی است که ادعا می کند.

13 دسامبر 2017 در 19:57 برای گروه بندی: نحوه fmt. printf یک عدد صحیح با هزاران کاما 13 دسامبر 2017 در 20:09

سلام icza من با استفاده از این راه حل نسخه ای انجام دادم. اما من یکی را می خواهم که از محلی های سیستم استفاده کند. من با استفاده از کد زیر که در آن ارز سخت است p: = message. newprinter (language. brazilianportuguese) بازگشت p. sprintf ("r $ ٪ . 2f" ، float64 (produto. preco/100))

13 دسامبر 2017 در 20:12

2 پاسخ 2

مرتب شده توسط: تنظیم مجدد به طور پیش فرض

در این مثال ، قالب ارز را از کد زبان استنباط کردم.

n: = display. tags (language. english) برای _ ، lcode: = محدوده [] رشته// انگلیسی آمریکایی (USD): 100،000. 00 $ // برزیلی پرتغالی (BRL): R 100. 000،00 $ // آلمانی (یورو): 100. 000،00،00 یورو // ژاپنی (JPY): 100،000 ¥ // هندی (INR): 1 ₹ 1، 00،000. 00 

شما همچنین می توانید کدهای ارزی ISO را تجزیه کنید ، اما پس از آن باید زبانی را نیز برای قالب بندی شماره مشخص کنید. زبان خروجی بر تعداد ارقام کسری تأثیر نمی گذارد ، اما در جایی که از کاما و دوره ها استفاده می شود ، تأثیر می گذارد:

برای _ ، iso: = رشته [] رشته// usd: 100،000. 00 $ // BRL: R 100،000. 00 $ // EUR: 100،000. 00 € // JPY: 100،000 ¥ // INR: 100،000. 00 پوند 

ارزهای خاصی مانند 0. 05 یا 0. 50 به صورت افزایشی گرد می شوند. برای این موارد ، ارزش بازگشت دوم ارز. cash. rounding (cur) به جای 1. 5 یا 50 باز می گردد.

بسته بندی اصلی بسته بندی ("ریاضی" "strconv" "golang. org/x/text/currency" "golang. org/x/text/language" "golang. org/x/text/language/display" "golang. org/x/متن/پیام "" golang. org/x/text/number ") Func Main ()>// انگلیسی آمریکایی USD ، 0. 01-Rounding: 100،000. 26 دلار // CAD انگلیسی کانادایی ، 0. 05-Rounding: CA 100،000. 25 دلار // DANISH DKK ، 0. 50-Rounding: DK100. 000،50 // JPY ژاپنی ، 1-Rounding: 100،000 پوند 
راهنمای تجارت فارکس...
ما را در سایت راهنمای تجارت فارکس دنبال می کنید

برچسب : نویسنده : نسیم خاکسار بازدید : <-PostHit-> تاريخ : سه شنبه 14 شهريور 1402 ساعت: 21:00