我正在尝试选择一个数据表对象。当我的表达式值为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
答案 0 :(得分:0)
String.Format(new System.Globalization.CultureInfo("en-US"),"ProfitShareRatio = {0}",Convert.ToDecimal(_listrow[m]["ProfitShareRatio"]))
感谢大家。通过将文化转变为en-US来解决问题。字符串格式结果为“ProfitShareRatio = 82.5”