C#中如何将double或string类型的数据转换成Decimal类型的数据,为什么我再在用convert转换时程序报错?
答案:3 悬赏:50
解决时间 2021-01-03 16:46
- 提问者网友:浮克旳回音
- 2021-01-03 06:02
C#中如何将double或string类型的数据转换成Decimal类型的数据,为什么我再在用convert转换时程序报错?
最佳答案
- 二级知识专家网友:不想翻身的咸鱼
- 2021-01-03 07:30
Convert.ToDecimal 支持string 转decimal 的
应该是你spEdPrice.Text 的格式不对.
至少应该是D.D格式 而且不能有空格
传进来 先应该用正则判断下是否为数字.追问里面的值我转换成double类型的数据都可以,但就是转换不了decimal类型的,而且报错是未将对象引用到实例追答你的opt有没有实例化哦. 建议你断点看看 DOUBLE的值是多少? 你这个数很大吗? DOUBLE比DECIMAL能存的数要大回复追问谢谢你的提醒,我真没有实例化opt对象,呵呵!
应该是你spEdPrice.Text 的格式不对.
至少应该是D.D格式 而且不能有空格
传进来 先应该用正则判断下是否为数字.追问里面的值我转换成double类型的数据都可以,但就是转换不了decimal类型的,而且报错是未将对象引用到实例追答你的opt有没有实例化哦. 建议你断点看看 DOUBLE的值是多少? 你这个数很大吗? DOUBLE比DECIMAL能存的数要大回复追问谢谢你的提醒,我真没有实例化opt对象,呵呵!
全部回答
- 1楼网友:夜风逐马
- 2021-01-03 08:15
decimal.Parse(spEdPrice.Text)。就代码效率来说,Convert不如Parse高。
“未将对象引用到实例”是你没有实例化,就是程序不知道opt或spEdPrice是打哪来的,跟类型转换没关系。
“未将对象引用到实例”是你没有实例化,就是程序不知道opt或spEdPrice是打哪来的,跟类型转换没关系。
- 2楼网友:走死在岁月里
- 2021-01-03 07:39
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);
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |