我已经格式化了字符串,例如123 456 000$
,我知道这个字符串{0:### ### ##0}$
的格式。我希望使用已知格式从C#中的此字符串中获取int value = 123456000;
。
我怎么能这样做?
答案 0 :(得分:3)
mytext = System.Text.RegularExpressions.Regex.Replace(mytext.Name, "[^.0-9]", "");
或类似的东西可以摆脱讨厌的非数字
然后删除前几个字符1,2,3 ...并且最后几个长度,长度-1,长度-3 ......
除非我遗漏了什么?
哦是的,还有Convert.Toint32(mytext)
答案 1 :(得分:2)
int.Parse("123 456 000$", NumberStyles.AllowCurrencySymbol |
NumberStyles.Number);
答案 2 :(得分:2)
我认为你必须构建一个类似的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);
这可以帮助你获得价值
答案 3 :(得分:0)
我会轻松一点:
String formattedString = "12345500$";
formattedString.Remove(formattedString.Length - 1);
int value = int.Parse(formattedString);