(int)myDouble
是否与(int)Math.Truncate(myDouble)
不同?
我有什么理由比较喜欢一个吗?
答案 0 :(得分:9)
Math.Truncate
适用于需要将结果保持为双倍而没有小数部分的情况。如果你想将它修改为int,只需直接使用强制转换。
修改:供参考,以下是“Explicit Numeric Conversions Table”的相关文档:
当您从double或float值转换为整数类型时,该值将被截断。
答案 1 :(得分:5)
正如 Ignacio Vazquez-Abrams (int)myDouble
所指出的那样,当myDouble太大时,其失败方式与(int)Math.Truncate(myDouble)
相同。
因此输出没有区别,但(int)myDouble
的工作速度更快。