c# - 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
解决方案
如果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;
}