如何将指数值转换为等效的.Net数据类型值。 有谁知道如何将数字+字母字符串转换为long或int?
Example of a string : 3e317188a00577
答案 0 :(得分:0)
也许您只想提取数字以创建long
?您可以使用Char.IsDigit
和LINQ:
Char[] digitsOnly = "3e317188a00577".Where(Char.IsDigit).ToArray();
if(digitsOnly.Length > 0)
{
long result;
if (long.TryParse(new string(digitsOnly), out result))
{
Console.Write("Successfully parsed to: " + result);
}
}
结果:Successfully parsed to: 331718800577
如果您想要将其从十六进制解析为int / long:
long result = long.Parse("3e317188a00577", System.Globalization.NumberStyles.HexNumber);
结果:17505812249314679
答案 1 :(得分:0)
如果你只需要字符串中的数字,那么试试这个:
longValue = Long.parseLong("3e317188a00577".replaceAll("\\D+",""), 10);
答案 2 :(得分:0)
你给我们的字符串对我来说就像一个十六进制值。在这种情况下,您可以将其转换为int / long,如下所示:
string numberAsHex = "3e317188a00577";
long numberAsInt = long.Parse(hexValue, System.Globalization.NumberStyles.HexNumber);
答案 3 :(得分:0)
这是一个类似的问题: Convert numbers with exponential notation from string to double or decimal
这样做的方法是:
String myString = "3e317188a00577";
Double myDouble = double.Parse(myString, CultureInfo.InvariantCulture);