例如,我已经格式化了字符串,123 456 000$
并且我知道这个字符串的格式{0:### ### ##0}$
。我想int value = 123456000;
使用已知格式从 C# 中的这个字符串中获取。
我怎么能这样做?
例如,我已经格式化了字符串,123 456 000$
并且我知道这个字符串的格式{0:### ### ##0}$
。我想int value = 123456000;
使用已知格式从 C# 中的这个字符串中获取。
我怎么能这样做?
mytext = System.Text.RegularExpressions.Regex.Replace(mytext.Name, "[^.0-9]", "");
或类似的东西摆脱讨厌的非数字
然后删除前几个字符1,2,3...和最后几个长度,长度-1,长度-3...
除非我错过了什么?
哦,是的,还有 Convert.Toint32(mytext)
int.Parse("123 456 000$", NumberStyles.AllowCurrencySymbol |
NumberStyles.Number);
我认为你将不得不构造一个类似NumberFormatInfo
的来解析字符串值。$
对于文本中使用的货币符号,在您的情况下,千组分隔符space
不是,,
因此自定义数字格式信息应该可以帮助您解析它。
string val = "123 456 000$";
NumberFormatInfo numinf = new NumberFormatInfo();
numinf.CurrencySymbol = "$";
numinf.CurrencyGroupSeparator = " ";
numinf.NumberGroupSeparator = " "; // you have space instead of comma as the seperator
int requiredval = int.Parse(val,NumberStyles.AllowCurrencySymbol | NumberStyles.AllowThousands, numinf);
这应该可以帮助您获得价值
我会让它变得简单:
String formattedString = "12345500$";
formattedString.Remove(formattedString.Length - 1);
int value = int.Parse(formattedString);