我有一個應該由貨幣組成的字段,根據我的區域是印度尼西亞,它是IDR或Rp。 和我一起string.format
這樣構建它:更改貨幣格式
Dim price As Single = Single.Parse(Convert.ToSingle(lblAmountGV.Text))
lblAmount.Text = String.Format("{0,C}", price)
,但它給了我一個美元符號。我更改代碼:
lblAmount.Text = String.Format("Rp{0}", price)
,但我沒有得到dot (.)
和Comma(,)
。所以我再次更改代碼使用FormatCurrency
:
lblAmount.Text = FormatCurrency(lblAmountGV.Text, , , TriState.True, TriState.True)
,但它仍然給我一個美元符號,後來我發現如何更改CultureInfo
:
通過進口:
Imports System.Globalization
和我的代碼:
Dim culture = CultureInfo.GetCultureInfo(" id-ID")
Dim format = DirectCast(culture.NumberFormat.Clone(), NumberFormatInfo)
format.CurrencySymbol = "Rp."
var number = Decimal.Parse(lblAmountGV.Text, NumberStyles.Currency, format);
lblAmount.Text = number
但它仍然給我一個$
登錄,如何以編程方式更改$
?
當與金錢打交道,不使用「單一」類型,即使它看起來足夠大。使用十進制類型。總是。 –
@JoelCoehoorn謝謝您的糾正。 – Sabilv