我刚刚在 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)?