首页 > 解决方案 > ConvertToDouble 在法语语言环境中错误地转换数字

问题描述

我有一个数字作为浮点数存储在数据库中。在这种情况下,数字是 93.75

double localCultreResult;
double.TryParse(rs["CostClaim"].ToString(), System.Globalization.NumberStyles.Any, CultureInfo.CurrentCulture, out localCultreResult);
if (rs["CostClaim"].ToString().Length > 0) {
    Cost.Value = localCultreResult;
};

我希望成本值在法语语言环境中显示为 93,75,但上面给了我 9375,00

我也在这里尝试了所有解决方案:如何将带小数点的字符串解析为双精度字符串?

在法语语言环境中,所有人都将 93.75 转换为 9375

标签: c#type-conversion

解决方案


如果CultureInfo.CurrentCulture是法语,则rs["CostClaim"].ToString()将使用 ',' 作为小数点进行解析。

你觉得......怎么样:

if (double.TryParse(rs["CostClaim"].ToString(), System.Globalization.NumberStyles.Any, 
    CultureInfo.GetCultureInfo("en-US"), out double localCultreResult))
{
    Cost.Value = localCultreResult;
}

推荐阅读