質問

I found out that from these lines of code we could get the currency of Canadian.

 Dim value As Decimal = ourTextbox.text 
    Dim positiveValue As Decimal = ourTextbox.text 
    Dim customCurrencyInfo As CultureInfo = CultureInfo.CreateSpecificCulture("fr-CA")

    customCurrencyInfo.NumberFormat.CurrencyNegativePattern = 8

    Dim formatString As String = value.ToString("C", customCurrencyInfo)
    Dim formatStringPositive As String = positiveValue.ToString("C", customCurrencyInfo)

    myTextbox.text = formatString
    myTextbox2.text = formatStringPositive

The output would be;

-123,45 $ 123,45 $

But what about these countries:

-Malaysia
-Indonesia
-Somalia / Africa
-Arabia

How to get their currency shown on the formatting textbox?

役に立ちましたか?

解決

Pass different culture name as parameter of CreateSpecificCulture() method, for example :

'Malaysia'
Dim customCurrencyInfo As CultureInfo = CultureInfo.CreateSpecificCulture("my-MY")
'Indonesia'
Dim customCurrencyInfo As CultureInfo = CultureInfo.CreateSpecificCulture("id-ID")
'Afrikaans'
Dim customCurrencyInfo As CultureInfo = CultureInfo.CreateSpecificCulture("af")
'Arabic'
Dim customCurrencyInfo As CultureInfo = CultureInfo.CreateSpecificCulture("ar")

You can find culture name list in MSDN : CultureInfo Class

Note: changing culture info not only change currency symbol but may also change decimal and thousand separator. If you want to avoid that, you can copy current culture

info and simply change it's currency symbol from other culture :
Dim customCurrencyInfo = (CultureInfo)CultureInfo.CurrentCulture.Clone();
Dim culture As CultureInfo = CultureInfo.CreateSpecificCulture("id-ID")
customCurrencyInfo.NumberFormat.CurrencySymbol = culture.NumberFormat.CurrencySymbol
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top