DataTable Select:无法过滤双值

时间:2012-06-27 08:52:43

标签: c# string datatable

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

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

P {ProfitShareRatio值在_dataSet.Tables[2]

中加倍

ERROR:

  

表达式中的语法错误。

     System.Data.ExpressionParser.Parse()上的

     在System.Data.DataExpression..ctor(DataTable表,字符串表达式,类型类型)      在System.Data.Select..ctor(DataTable表,String filterExpression,String sort,DataViewRowState recordStates)      在System.Data.DataTable.Select(String filterExpression)

编辑2: 使用Decimal时发生了同样的错误。

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

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

返回值

1 个答案:

答案 0 :(得分:0)

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

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