C# 输入字符串格式不正确

来源:百度知道 编辑:UC知道 时间:2024/09/21 03:32:22
源码:dr["mUnitPrice"] =Convert.ToDouble(dtTmp.Rows[0]["mPPrice"].ToString()).ToString("f");
mPPrice在数据库中是numeric类型
在线等 急急急

我在数据库 中已经把mPPrice字段全部置为0了,结果还一样

string s = dtTmp.Rows[0]["mPPrice"]"].ToString();
if(s!="" && 是数值,你自己写验证吧)
{
dr["mUnitPrice"] =Convert.ToDouble(dtTmp.Rows[0]["mPPrice"].ToString()).ToString("f");
}
判断一下就可了

dtTmp.Rows[0]["mPPrice"].ToString(),单独执行这句,打印出来,看看是否包含飞数字型字符

dtTmp.Rows[0]["mPPrice"]首先要确定是否有值,建议分开写查看一下具体错误:
string a = dtTmp.Rows[0]["mPPrice"].ToString();
double d = Convert.ToDouble(a);
dr["mUnitPrice"] = d.ToString("f");

你确定Rows[0]["mPPrice"]的值不为Null?
这样写
(Double)dtTmp.Rows[0]["mPPrice"]效率会高些

dr["mUnitPrice"]=decimal.Parse(ds.Tables[0].Rows[0]["mPPrice"].ToString()).ToString();