使用Long类型限定符解析String的.NET方法

时间:2013-04-25 13:43:43

标签: .net parsing int64

我从第三方SW获得一个带有长类型限定符的字符串,例如“1L”。 我想将其解析为Int64,但Int64.TryParse不会将其识别为Int64。 有一种.NET方法可以安全地执行此操作吗?我想避免解析自己...

感谢您的帮助!

2 个答案:

答案 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));

请参阅这些问题以获取一些示例(以及一些错误的......有趣的替代方法):