c# - 解析字符串

标签 c#

我想将一个字符串解析为 long,值为 1.0010412473392E+15。但它给出了一个异常,输入字符串的格式不正确。如何执行此操作。

这两个答案都适用于如何选择它们作为答案。

最佳答案

查看 System.Globalization.NumberStyles Int64.Parse 的适当重载中的枚举。如果您指定 System.Globalization.NumberStyles.Any,它应该可以工作:

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

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

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

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

相关文章:

c# - 在代码隐藏中更改时,TextBox 中的文本不会立即更新

c# - 如何在 unity 5 中限制鼠标输入的旋转?

c# - LINQPad的IL代码是优化版吗?

c# - 如何在设置中创建可空日期时间?

c# - 同步调用(通过调度程序)或直接调用的调用

c# - 如何在 C# 中将 "91212"解析为 "Hmmss"?

c# - Lambda 表达式将 bool 值比较为 false 会导致 NotSupportedException

c# - 通过 C# 刷新并保存 excel 文件

c# - 如何获取 CheckedListBox 中的项目 ID?

c# - 如何找到不可见的菜单项?