我必须做一些非常明显错误的事情,但我看不到它。
答案 0 :(得分:86)
double是C类型,而不是Objective-C对象。因此你使用C演员:
double myDouble = 3.2;
int myInt = (int)myDouble;
答案 1 :(得分:4)
上面提到的转换虽然你可能想在此之前使用floor()或ceil()函数,但已经足够了。
答案 2 :(得分:1)
intValue 是 NSNumber 实例的方法。 对于像int,double和float这样的缩放类型,它们不是类类型。所以,他们没有方法。像C#这样的语言可以包装int或double作为对象,它们可以通过子例程相互转换。
答案 3 :(得分:1)
试试这个
NSInteger number=33;
NSUInteger count = (NSInteger)[number];
此处 NSUInteger 长。 数字是NSInteger
答案 4 :(得分:-6)
double myDouble = 3.2;
int myInt = @(myDouble).intValue;
我实际使用的代码示例:
NSNumber * percentLike1 = @(@(self.percentLike.doubleValue*100).integerValue);