Jon*_*eet 219
如果您希望默认的truncate-to-zero行为,则可以使用强制转换.或者,你可能想使用Math.Ceiling,Math.Round,Math.Floor等-但你仍然需要铸造之后.
不要忘记,范围int远小于范围double.如果值超出未经检查的上下文中的范围,则来自doubleto 的强制转换int不会抛出异常int,而对Convert.ToInt32(double)will 的调用则不会.如果值超出范围,则显式未定义强制转换的结果(在未经检查的上下文中).
Arm*_*yan 37
如果你使用强制转换,也就是说,(int)SomeDouble你将截断小数部分.也就是说,如果SomeDouble是4.9999,结果将是4,而不是5.转换为int不会使数字四舍五入.如果你想要四舍五入使用Math.Round
Jef*_*ado 30
是的,为什么不呢?
double someDouble = 12323.2;
int someInt = (int)someDouble;
Run Code Online (Sandbox Code Playgroud)
使用Convert该类也很有效.
int someOtherInt = Convert.ToInt32(someDouble);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
286060 次 |
| 最近记录: |