代码之家  ›  专栏  ›  技术社区  ›  NH.

为什么会这样NumberStyles.Any 不允许百分比符号?

  •  0
  • NH.  · 技术社区  · 7 年前

    当解析为十进制数时,您可能非常希望解析一个像“23.393%”这样的数字,但是如果不手动去除百分比符号,这是行不通的( % ). 我希望这一行返回真值:

    Decimal.TryParse("31.7%",System.Globalization.NumberStyles.Any, null, out var dec)
    

    的文档 System.Globalization.NumberStyles.Any 似乎表明它应该允许任何类型的(十进制)数字格式。有没有不包括百分比的原因?

    (注意:我在C#中工作,但是底层的TryParse函数也应该在VB.NET 以及其他.NET语言,所以这个问题也适用于它们)

    1 回复  |  直到 7 年前
        1
  •  2
  •   Joel Coehoorn    7 年前

    我想你看错了那个文件。的便条 Any 他说:

    具体的 中的条目 NumberStyles 枚举工作(当然,除了, AllowHexSpecifier ). 其中的数字样式与百分号或您的格式有关。最近的是 AllowTrailingSign

    没有百分比选项。看来你得自己管理这种格式了。

    推荐文章