记录一个decimal格式转换出现的问题
2016-09-22 11:34
274 查看
如下的一串代码
本意应该是读取 ultraGrid1中 MONTH2栏位的值然后转换成decimal 格式保存到对象中。
当MONTH2栏位输入了值得时候,这段固然是没错的。
但是当它为空的时候,程序运行的时候就会报错了,
然后我添加了个判断 把代码改成如下
但是运行起来还是报同样的错
然后仔细想下 会不会是它为空代表着ultraGrid1.Rows[i].Cells[“MONTH1”].Value.ToString()应是null而不是”“呢? 于是改成
然而也并没有什么用
于是到这里 就算是我这样的小白 也都明白了
正确的话 有几种方式
之前我没用过.ToString3()跟.ToString2() 所以一直没发现它们的好处
.ToString2() 转换为字符串 null转换为空字符串
.ToString3() 转换为字符串 null和空字符串转换成0(针对于数字型的字符串)
parm.Month2 = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["Month2"].Value.ToString());
本意应该是读取 ultraGrid1中 MONTH2栏位的值然后转换成decimal 格式保存到对象中。
当MONTH2栏位输入了值得时候,这段固然是没错的。
但是当它为空的时候,程序运行的时候就会报错了,
然后我添加了个判断 把代码改成如下
parm.Month1 = ultraGrid1.Rows[i].Cells["MONTH1"].Value.ToString() == "" ? 0 : Convert.ToDecimal(ultraGrid1.Rows[i].Cells["Month1"].Value.ToString());
但是运行起来还是报同样的错
然后仔细想下 会不会是它为空代表着ultraGrid1.Rows[i].Cells[“MONTH1”].Value.ToString()应是null而不是”“呢? 于是改成
parm.Month1 = ultraGrid1.Rows[i].Cells["MONTH1"].Value.ToString() == null ? 0 : Convert.ToDecimal(ultraGrid1.Rows[i].Cells["Month1"].Value.ToString());
然而也并没有什么用
于是到这里 就算是我这样的小白 也都明白了
正确的话 有几种方式
parm.Month1 = Convert.ToDecimal(ultraGrid1.Rows[i].Cells["MONTH1"].Value.ToString3()); parm.Month1 = ultraGrid1.Rows[i].Cells["MONTH1"].Value == null ? 0 : Convert.ToDecimal(ultraGrid1.Rows[i].Cells["Month1"].Value.ToString()); parm.Month1 = ultraGrid1.Rows[i].Cells["MONTH1"].Value.ToString2() == "" ? 0 : Convert.ToDecimal(ultraGrid1.Rows[i].Cells["Month1"].Value.ToString());
之前我没用过.ToString3()跟.ToString2() 所以一直没发现它们的好处
.ToString2() 转换为字符串 null转换为空字符串
.ToString3() 转换为字符串 null和空字符串转换成0(针对于数字型的字符串)
相关文章推荐
- 将Excel表单转换到Word不出现格式问题
- 我把一个VC6的工程转换为VS2008的工程后,编译总是出现找不到而且不能升级vc90.pdb文件的问题,error C2471--解决办法 2010-9-16 15:01
- IO 流读取文件时候出现乱码 文件编码格式问题 怎么转换解决方法
- 在虚拟机的XP中使用管道出现的问题,可能是一个BUG,先记录下来
- 记录一个java.util.logging.Logger 使用中关于时间格式的问题
- 记录一个单线程调用写出现的"死锁"问题
- 关于json转换中出现的一个问题
- 使用CsV格式的CDR记录碰到的一个怪问题的解决
- Excel打开CSV时,出现一个格式问题
- IO 流读取文件时候出现乱码 文件编码格式问题 怎么转换解决方法
- 金额字符串转换成Decimal格式的怪问题引发的思考
- UpdatePanel和其他JS配合出现的一个问题记录
- IO 流读取文件时候出现乱码 文件编码格式问题 怎么转换解决方法
- VS2010运用Format将字符数组转化为CString 格式,并用AfxMessageBox()过程中出现转换乱码问题的解决方案
- 【OpenGL】用OpenGL shader实现将YUV(YUV420,YV12)转RGB-(直接调用GPU实现,纯硬件方式,效率高) 这段时间一直在搞视频格式的转换问题,终于最近将一个图片的YUV
- 关于一个时间的转换问题。由一个RFC3339时间格式的字符串转为本地时间
- 关于获取JSON数据,出现格式错误的问题记录
- vim打开文档后面出现^M格式符问题记录
- 关于json转换格式出现\/Date(618854400000+0800)\/的问题
- 关于Hibernate中fatch=eager的bag集合(一个java List)使用Criteria查询出现重复记录的问题