【问题标题】:Get current system setting's fraction separator获取当前系统设置的分数分隔符
【发布时间】:2009-04-21 15:56:17
【问题描述】:

在我的应用程序中,我将一个值从 xml(字符串)解析为双精度值。 xml 中的值恰好将点作为分数分隔符,而系统采用当前系统设置并且可以有不同的分隔符(例如,开发系统采用逗号)。

有没有办法告诉 double.TryParse() 点是分数分隔符?
我应该用系统的分数分隔符手动替换点吗?如果是这样,我如何得到这个?

【问题讨论】:

    标签: c# .net localization string-formatting


    【解决方案1】:

    在这种情况下,您应该做的是使用 XmlConvert 类及其成员将 XML 文件中存在的值转换为常规变量。 :)

    【讨论】:

    • 我不知道有这样的东西存在。为什么这个类比 double.trypars() 更好?我知道当涉及特殊字符时它会派上用场。但据我所知,没有 tryparse。
    【解决方案2】:

    CultureInfo.InvariantCulture 传递给double.TryParse

    double value;
    bool success = double.TryParse(text, NumberStyles.Float,
                                   CultureInfo.InvariantCulture,
                                   out value);
    

    (对于真正的标准 XML 格式,Frederik 建议使用 XmlConvert 是最好的主意。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-21
      • 1970-01-01
      • 1970-01-01
      • 2011-11-27
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 2021-03-04
      相关资源
      最近更新 更多