0

我正在尝试选择一个数据表对象。当我的表达式值为 82.5 (double) 时,代码会抛出异常。

_dataSet.Tables[2].Select("ProfitShareRatio = " + Convert.ToDouble(_listrow[m]["ProfitShareRatio"]));

Ps:ProfitShareRatio价值是双倍的_dataSet.Tables[2]

错误:

表达式中的语法错误。

在 System.Data.ExpressionParser.Parse() 在 System.Data.DataExpression..ctor(DataTable 表,字符串表达式,类型类型) 在 System.Data.Select..ctor(DataTable 表,字符串 filterExpression,字符串排序,DataViewRowState 记录状态) 在 System.Data.DataTable.Select(String filterExpression)

编辑 2:当我使用十进制时发生了同样的错误。

 _dataSet.Tables[2].Select("ProfitShareRatio = " + Convert.ToDecimal(_listrow[m]["ProfitShareRatio"]));

Ps 2:问题是 Convert.ToDecimal(_listrow[m]["ProfitShareRatio"])用逗号返回值,如 82,50 我需要用点返回值,如 82.50

4

1 回答 1

0
String.Format(new System.Globalization.CultureInfo("en-US"),"ProfitShareRatio =  {0}",Convert.ToDecimal(_listrow[m]["ProfitShareRatio"]))

谢谢大家。通过将文化更改为 en-US 解决了问题。字符串格式结果为“ProfitShareRatio = 82.5”

于 2012-06-27T10:52:29.473 回答