我正在使用Compute
方法来计算表达式。我当前的区域设置是de-DE
。这只需完成:
var dt = new DataTable() {
Locale = CultureInfo.CurrentCulture,
};
var v = dt.Compute(myExpression);
当我输入一个表达式时,例如:
30.5/2.25
表达式的求值正确。
然而,当我的语言环境不同时,我需要输入上面的表达式:
30,5/2.25
未按预期计算表达式。
如何让Compute
方法在给定的区域设置中正确计算表达式?
简单粗暴的工作方法:
var dt = new DataTable();
var temp = myExpression.Replace(".", string.Empty).Replace(",", ".");
var v = dt.Compute(temp, string.Empty);
更改区域设置时不起作用。可以扩展以处理区域设置。