我想解析一个字符串,使其值长为1.0010412473392E + 15。但是它给出了一个异常,即输入字符串的格式不正确。
这两个答案都可以解决如何选择它们作为答案的问题。
最佳答案
在Int64.Parse的适当重载中检出System.Globalization.NumberStyles
枚举。如果指定System.Globalization.NumberStyles.Any
,它将正常工作:
long v = Int64.Parse(s, System.Globalization.NumberStyles.Any);
但是请注意,您要解析的数字精度有限(只有13位小数,但指定为E + 15)。另外,“任何”枚举可能超出您的实际需要-在这种情况下,您只需要
AllowDecimalPoint
和AllowExponent
:long v = Int64.Parse(s, System.Globalization.NumberStyles.AllowDecimalPoint | System.Globalization.NumberStyles.AllowExponent);
关于c# - 解析字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2054704/