我想在Objective-C中这样做:
self.nsarray.count/2
如果计数等于5,结果将是5/2 = 2.5或5/2 = 2?
我是NS记录答案,它只显示我2.我不确定这是否是实际答案或者是2,因为我被迫使用%u
格式来记录答案。还请解释这个结果的“原因”。
答案 0 :(得分:0)
在Objective-C中使用两个整数的除法总是产生一个整数,在你的情况下它将是NSUInteger,在这种情况下2
是一个有效的结果。要获得具有浮点数的结果,至少应将一个操作数键入float
,或者至少将其中一个输出到float
,所以这里有一些选项:
// Second part of division is float, so result is float as well
float result = self.array.count/2.
// First part of division is float, so result is float as well
float result2 = (float)self.array.count/2 // or you can type ((float)self.array.count)/2 for more clearance
请注意,将结果转换为float
对您的案例无效,例如在(float) (5/2)
中,结果将是float(2.0)类型的整数,因为您只会转换{ {1}}至NSIntger
浮点数通常以NSLog格式格式化为%f或%g