这里我需要将double精度转换为整数。
示例:
obj.DayDifference = !string.IsNullOrEmpty(reader["DateDiff"].ToString()) ?
(Int32)reader["DateDiff"] : 0;
类型:
DayDifference
类型int
DateDiff
double precision
中database table
的{{1}}。
错误:
指定的演员表无效
答案 0 :(得分:7)
你所做的相当于:
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
的枚举类型等。