Objective-C,如何将double转换为int?

时间:2010-10-30 10:12:55

标签: iphone objective-c xcode

我必须做一些非常明显错误的事情,但我看不到它。

alt text

5 个答案:

答案 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);