这里我需要将 double 转换为整数。
示例:
obj.DayDifference = !string.IsNullOrEmpty(reader["DateDiff"].ToString()) ?
(Int32)reader["DateDiff"] : 0;
类型:
DayDifference
类型int
DateDiff
。
数据库表
中 double
类型的错误:
Specified cast is not valid
最佳答案
你所做的等同于:
object x = 32.5;
int y = (int) x;
你不能这样做 - 当你拆箱时,你必须拆箱到值 1 的实际类型。
所以你需要:
object x = 32.5;
int y = (int) (double) x;
转换为 double
拆箱,转换为 int
将 double
转换为 int
。您可以在代码中执行相同的操作:
(Int32)(Double) reader["DateDiff"] : 0;
1 好吧,取模一些东西。 CLR 允许您将 int
拆箱为 uint
或具有底层类型 int
的枚举类型,等等。
关于c# - 指定的转换无效( double 到 int),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24949276/