【发布时间】:2023-02-08 00:25:59
【问题描述】:
我有一个奇怪的问题。当使用 double.Tryparse 测试我的自定义格式的十六进制值时,它返回不一致的结果
例如
if (double.TryParse(dblValue, NumberStyles.Float, CultureInfo.InvariantCulture, out double x))如果
dblValue = "0E-63"上面的语句返回true如果dblValue = "0E-5B"它返回false我希望这两个自定义格式的十六进制值在TryParse中返回false,以便我的代码将它们作为非数字处理。 我在这里错过了什么。除了这个 double 和 integers 之外,其他都按预期工作。
【问题讨论】:
-
0E-63是科学格式的有效十进制数,0E-5B不是。这就是为什么它解析第一个而不解析第二个的原因。