【发布时间】:2012-06-01 00:38:08
【问题描述】:
在我们的代码中,我们需要将一个 double 转换为 int。
double score = 8.6;
int i1 = Convert.ToInt32(score);
int i2 = (int)score;
谁能解释我为什么i1 != i2?
我得到的结果是:i1 = 9 和 i2 = 8。
【问题讨论】:
-
Math.Truncate(score)比(int)score更明确地表达意图 -
但是 Math.Truncate 返回一个双精度或小数,而不是一个整数