我从第三方SW获得一个带有长类型限定符的字符串,例如“1L”。 我想将其解析为Int64,但Int64.TryParse不会将其识别为Int64。 有一种.NET方法可以安全地执行此操作吗?我想避免解析自己...
感谢您的帮助!
答案 0 :(得分:1)
在最简单的情况下,您可以这样做:
string sNum = "1L";
int pos = sNum.IndexOf('L');
if (pos == sNum.Length-1)
{
sNum = sNum.Substring(0, sNum.Length-1);
}
long num = int64.Parse(sNum);
答案 1 :(得分:0)
从浏览,我可以推荐的最好的方法是使用正则表达式来提取 或者删除非数字字符,然后用框架解析(Convert,Parse或TryParse等)。
我从下面的一个问题中挖掘了这个问题,希望它有效:
var originalString = "9L";
var result = Convert.ToInt64(Regex.Replace(originalString, "[^0-9]", String.Empty));
请参阅这些问题以获取一些示例(以及一些错误的......有趣的替代方法):