我刚刚在 Objective-C 中遇到了一种情况:
NSLog(@"%i", (int) (0.2 * 10)); // prints 2
NSLog(@"%i", (int) ((1.2 - 1) * 10)); // prints 1
所以我想知道,如果值是浮点数或双精度数,并且我们想要一个整数,我们不应该只使用(int)
来进行转换,而是使用(int) round(someValue)
? 或者,换个角度来说,我们什么时候应该使用(int)
,但在那些情况下,不能(int) round(someValue)
也可以完成这项工作,所以我们几乎应该总是使用(int) round(someValue)
?