我目前有一系列NSNumber对象,其值介于0到500,000之间。它们是随机生成的值,带有许多小数位。
如何打印这些值,但将它们四舍五入到最接近的1000?例如32143.8472将舍入到32000.为简单起见,我们假设我希望它们在NSLog中...
例如
NSLog(@"The number is: %@", WHATGOESHERE??)
答案 0 :(得分:11)
NSNumber对象适合存储值,对于数值运算,应使用普通数值类型(例如int)
请尝试以下代码:
int rounded = 1000*(([number intValue]+500)/1000);
那里会发生什么:
[number intValue]
这是我们号码的整数部分
添加500并除以1000 - 在我们的数字中获取最接近的数千
乘以1000 - 补偿之前的分数以获得实际四舍五入的数字
如果您愿意,请记录下来:
NSLog(@"The number is: %d", rounded)