C#中如何将double或string类型的数据转换成Decimal类型的数据,为什么我再在用convert转换时程序报错?
代码如下opt.ProductPrice=Convert.ToDecimal(spEdPrice.Text);前面变量是decimal类型的...
代码如下 opt.ProductPrice = Convert.ToDecimal(spEdPrice.Text); 前面变量是decimal类型的
展开
4个回答
展开全部
Convert.ToDecimal 支持string 转decimal 的
应该是你spEdPrice.Text 的格式不对.
至少应该是D.D格式 而且不能有空格
传进来 先应该用正则判断下是否为数字.
应该是你spEdPrice.Text 的格式不对.
至少应该是D.D格式 而且不能有空格
传进来 先应该用正则判断下是否为数字.
更多追问追答
追问
里面的值我转换成double类型的数据都可以,但就是转换不了decimal类型的,而且报错是未将对象引用到实例
追答
你的opt有没有实例化哦. 建议你断点看看 DOUBLE的值是多少? 你这个数很大吗? DOUBLE比DECIMAL能存的数要大回复
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
decimal.Parse(spEdPrice.Text)。就代码效率来说,Convert不如Parse高。
“未将对象引用到实例”是你没有实例化,就是程序不知道opt或spEdPrice是打哪来的,跟类型转换没关系。
“未将对象引用到实例”是你没有实例化,就是程序不知道opt或spEdPrice是打哪来的,跟类型转换没关系。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
opt.ProductPrice =Decimal.Parse(spEdPrice.Text)
当然考虑到空值等因素,最好是些成方法:
Decimal ConvertToDcm(string strValue)
{
try
{
return Decimal.Parse( strValue);
}
catch
{
return 0 ;
}
}
然后 opt.ProductPrice =ConvertToDcm(spEdPrice.Text);
当然考虑到空值等因素,最好是些成方法:
Decimal ConvertToDcm(string strValue)
{
try
{
return Decimal.Parse( strValue);
}
catch
{
return 0 ;
}
}
然后 opt.ProductPrice =ConvertToDcm(spEdPrice.Text);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询