博客
关于我
指定的转换无效。
阅读量:414 次
发布时间:2019-03-06

本文共 589 字,大约阅读时间需要 1 分钟。

这是一个很常见的问题,但是我这次却弄了很久。将所遇到的问题写下来,给各位朋友参考参考。

报错的形式像这样,其实上面已经说的很清楚了,指定的转换无效。就是说你从原类型强制转换成其它类型的时候无效,发生了错误。原因可能有一下两点:

1、数字太大或太小,转换失败。

2、原类型无法被识别,转换错误。例如当你把object类型的数据强制转换为int类型的时候,你就要注意了。一般来说object类型有很多种,当object代表一个对象时,这种强制转换就很可能出现问题。这次是莫名其妙的object的值为77,然后单机值的时候成了"77M",真够郁闷的,还希望大侠们能够告诉我这是为什么。

object o=this.dlnew.DataKeys[e.Item.ItemIndex];//这是在datalist中ItemDataBound事件中取值的代码

然后int num=(int)o;//这里出现了如上所诉的问题。

然后 int num1=int.parse(o.ToString());

int  num2=convert.toint32(o);

后面两种均没有问题,另外第一种取值如果是在sqlserver中是没有问题的。我怀疑是不是在number类型转换成int类型的时候会自动在后面加上M。

最后建议和我一样的菜鸟以后最好是不要用强制转换。会很苦逼的,呵呵~

请各位大侠指教!

转载地址:http://zovkz.baihongyu.com/

你可能感兴趣的文章
MTTR、MTBF、MTTF的大白话理解
查看>>
mt_rand
查看>>
mysql /*! 50100 ... */ 条件编译
查看>>
mudbox卸载/完美解决安装失败/如何彻底卸载清除干净mudbox各种残留注册表和文件的方法...
查看>>
mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
查看>>
mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
查看>>
mysql 5.6 修改端口_mysql5.6.24怎么修改端口号
查看>>
MySQL 8.0 恢复孤立文件每表ibd文件
查看>>
MySQL 8.0开始Group by不再排序
查看>>
mysql ansi nulls_SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思
查看>>
multi swiper bug solution
查看>>
MySQL Binlog 日志监听与 Spring 集成实战
查看>>
MySQL binlog三种模式
查看>>
multi-angle cosine and sines
查看>>
Mysql Can't connect to MySQL server
查看>>
mysql case when 乱码_Mysql CASE WHEN 用法
查看>>
Multicast1
查看>>
MySQL Cluster 7.0.36 发布
查看>>
Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
查看>>
MySQL Cluster与MGR集群实战
查看>>