我想解析一个字符串,使其值长为1.0010412473392E + 15。但是它给出了一个异常,即输入字符串的格式不正确。

这两个答案都可以解决如何选择它们作为答案的问题。

最佳答案

在Int64.Parse的适当重载中检出System.Globalization.NumberStyles枚举。如果指定System.Globalization.NumberStyles.Any,它将正常工作:

long v = Int64.Parse(s, System.Globalization.NumberStyles.Any);


但是请注意,您要解析的数字精度有限(只有13位小数,但指定为E + 15)。另外,“任何”枚举可能超出您的实际需要-在这种情况下,您只需要AllowDecimalPointAllowExponent

long v = Int64.Parse(s, System.Globalization.NumberStyles.AllowDecimalPoint | System.Globalization.NumberStyles.AllowExponent);

关于c# - 解析字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2054704/

10-10 23:28