使用货币符号和千位分隔符解析浮点值

时间:2015-03-05 08:09:14

标签: vb.net

我有以下字符串值:

  

EUR 40,582.00

     

$ 29,098.30

我想将它们转换为十进制值。

我已经尝试了Decimal.Parse但它没有用。我的vb.net代码:

Decimal.Parse("EUR 40,582.00", NumberStyles.Currency)
Decimal.Parse("$29,098.30", NumberStyles.Currency)

将此字符串值转换为十进制值的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

阅读:https://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

The Currency ("C") Format Specifier.<br>
    123.456 ("C", en-US) -> $123.46<br>
    123.456 ("C", fr-FR) -> 123,46 €<br>

了解: FormatCurrency
阅读:http://www.vb-helper.com/howto_net_format_currency.html

您必须使用CurrencySymbol

中的Case或其他内容
NumberFormatInfo MyNFI = new NumberFormatInfo();
MyNFI.NegativeSign = "-";
MyNFI.CurrencyDecimalSeparator = ".";
MyNFI.CurrencyGroupSeparator = ",";
MyNFI.CurrencySymbol = "$";

decimal d = decimal.Parse("$29,098.30", NumberStyles.Currency, MyNFI);