在VB.NET中将货币转换为十进制

时间:2014-06-18 22:11:25

标签: vb.net

我需要将货币格式的文本转换为十进制格式。

示例:12,500.50美元 - > 12500.50

该文字进入文本框。我使用了formatCurrency()函数,但我需要获取原始文本(十进制格式)。

我该怎么做?

3 个答案:

答案 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.ParseDecimal.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