asp.net中string转换为float类型问题。

string sums=Request.QueryString["sum"]; //sum是从上一页面传递过来的参数
Label1.Text=sums;
float sum1=Convert.ToSingle(sums);
.......
"update member set 消费累计=消费累计+'"+sum1+"'" where 会员编号='"+Session[membernum]+"'; //数据库语言。。要修改消费累计(float类型)
系统编译时为发现错误,运行时点到下一个页面时却总是说转换格式错误,这是怎么回事呢?请各路大神指点。。

第1个回答  2012-09-25
你确定你从页面获得的 sum的值是数字?如果不是数字就转换不成功啊,在看看你数据库里的那个字段的类型是不是跟sum1的类型一样
第2个回答  2012-09-25
"update member set 消费累计=消费累计+"+sum1+" where 会员编号='"+Session[membernum]+"'试试,就是说把sum1两边的单引号去掉
第3个回答  2012-09-25
sum1是float类型,直接当字符串使用肯定报错啦,把sum1操作下sum1.tosring();
这样应该就没问题了
第4个回答  2012-09-25
"update member set 消费累计=消费累计+'"+sum1+"'" where 会员编号='"+Session[membernum]+"';
修改为:"update member set 消费累计=消费累计+" + sum1.ToString() + " where 会员编号='" + Session["membernum"] + "'";
试一下。追问

.ToString()是获取字符啊。。我的sum1需要的是浮点型啊。。而且我显示的错误是在
float sum1=Convert.ToSingle(sums);这里。。

追答

消费累计是浮点型吗?
如果只是:float sum1=Convert.ToSingle(sums);这个报错的话,那就是sums的实际值有问题(不是有效的float类型)。

追问

sums是string类型,要把它转变成float类型的sum1,。。

追答

我说的是sums它的实际包含内容不是数值,有其它的字符或空格在里面,所以转换才会出错。

第5个回答  2012-09-25
看看 你传过来的值,转的时候 float.Parse(suums);
相似回答