我尝试删除千位分隔符,所以我正在尝试一些代码,但它会抛出异常。我试过了Convert.ToDouble
,Convert.ToDecimal
等等。
它说:
Convert.ToDouble("1.234,45") 抛出和异常 'System.FormatException'
转换是从以下行抛出的:Convert.ToDouble()
该参数n2
使用 culturinfo,但我也尝试了“0.00”两者都抛出相同的异常
整个想法是:如何删除千位分隔符,我的输入始终采用这种格式:1.234,54(逗号作为十进制,点作为千位分隔符)......我喜欢在 Textbox GotFocus Event 中使用它......所以格式应该显示为 12345,45
所以:1.254,45 应该是 1254,45 和 1.254,00 应该是 1254,00
//http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx
CultureInfo ci = CultureInfo.GetCultureInfo("NL-be");
NumberFormatInfo nfi = (NumberFormatInfo)ci.NumberFormat.Clone();
//Now force thousand separator to be empty string
nfi.NumberGroupSeparator = "";
//Format decimal number to 2 decimal places
string decimalFormatted = Convert.ToDouble("1.234,45").ToString("0.00", nfi);
string decimalFormatted = Convert.ToDouble("1.234,45").ToString("n2", nfi);