我需要将货币格式的文本转换为十进制格式。
示例:12,500.50美元 - > 12500.50
该文字进入文本框。我使用了formatCurrency()函数,但我需要获取原始文本(十进制格式)。
我该怎么做?
答案 0 :(得分:1)
我不确定这一点,但你可以尝试一下:
Dim NewString As String = Replace(Replace(TextBox1.Text, "US$", ""), ",", "")
Dim Currency As Decimal = CDec(NewString)
'Just to check if it works.
MessageBox.Show(Currency)
答案 1 :(得分:0)
首先,请勿使用FormatCurrency
。调用ToString
并传递“c”作为格式说明符。反向操作是调用Decimal.Parse
或Decimal.TryParse
并指定货币格式。
答案 2 :(得分:0)
使用NumberStyles
Dim test As String = "US$12,500.50"
Dim testAsNum As Decimal
Dim ci As New Globalization.CultureInfo(Globalization.CultureInfo.CurrentCulture.LCID)
ci.NumberFormat.CurrencySymbol = "US$"
Dim ns As Globalization.NumberStyles = Globalization.NumberStyles.AllowCurrencySymbol Or _
Globalization.NumberStyles.AllowDecimalPoint Or _
Globalization.NumberStyles.AllowThousands
If Decimal.TryParse(test, ns, ci, testAsNum) Then
Stop
Else
Stop
End If