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