2014-04-29 156 views
0

我發現從這些代碼行我們可以得到貨幣加拿大Textbox貨幣幾個國家

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 

輸出將是;

-123,45 $ 123,45 $

但對於這些國家:

-Malaysia
- 印度尼西亞
-Somalia /非洲
-Arabia

如何獲取格式文本中顯示的貨幣框?

+0

我編輯了你的標題。請參閱「[應該在標題中是否包含」標籤「](http://meta.stackoverflow.com/questions/19190/)」,其中共識是「不,他們不應該」。 –

+0

你可以在這裏找到文化信息... http://msdn.microsoft.com/en-us/goglobal/bb896001.aspx – Codexer

+0

有關定義/擴展文化信息的信息:http://stackoverflow.com/a/223661/ 1070452 – Plutonix

回答

0

傳遞不同的文化名CreateSpecificCulture()方法的參數,例如:

'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") 

您可以在MSDN中找到文化的名單:CultureInfo Class

注:改變文化信息不僅會改變貨幣符號,但可能也改變十進制和千位分隔符。如果你想避免這種情況,你可以複製當前的文化

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 
+1

非常感謝@ har07。我會試試這個:D – gumuruh