在我的语言环境中,double.Parse("Infinity")
返回 double.PositiveInfinity
,但 double.Parse("infinity")
抛出System.FormatException
。对于负无穷大和 NaN 也会发生类似的情况。
显然,我可以在调用 double.Parse() 之前使用
(对于负无穷大和 NaN 也同样如此)。然而,我希望有更优雅的东西。CultureInfo.CurrentCulture.NumberFormat.PositiveInfinitySymbol.Equals()
进行不区分大小写的比较来检查匹配情况
最佳答案
除了 TryParse()
之外,我没有看到太多选择。 ,并且在失败时,对三个特殊 token 进行特殊处理,如 Number.ParseDouble()
中所示。和 double.TryParse()
。我会在之后而不是之前进行检查,因为在大多数情况下,这种情况不会发生。
关于c# - 如何在 C# 中不区分大小写地解析 float 和 double (以覆盖 "infinity"等)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25365263/