是否将DataTable Compute方法用于其他区域设置



我正在使用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);

更改区域设置时不起作用。可以扩展以处理区域设置。

相关内容

  • 没有找到相关文章

最新更新