Objective-C, как мне преобразовать double в int? - PullRequest
34 голосов
/ 30 октября 2010

Я, должно быть, делаю что-то действительно явно неправильное, но не вижу этого.

alt text

Ответы [ 5 ]

86 голосов
/ 30 октября 2010

Двойной тип - это тип C, а не объект Objective-C. Следовательно вы используете C бросает:

double myDouble = 3.2;
int myInt = (int)myDouble;
4 голосов
/ 30 октября 2010

Достаточно просто выполнить преобразование, упомянутое выше, хотя вы можете использовать функции floor () или ceil () до этого.

1 голос
/ 05 апреля 2018

попробуйте

NSInteger number=33;
NSUInteger count = (NSInteger)[number];

здесь, NSUInteger - это long . число - NSInteger

1 голос
/ 30 октября 2010

intValue - это метод для экземпляра NSNumber .Для типа масштаба, такого как int, double и float, они не являются типом класса.Итак, у них нет методов.Некоторые языки, такие как C #, могут заключать int или удваиваться как объект, и они могут передаваться друг другу с помощью подпрограммы.

0 голосов
/ 18 января 2013
double myDouble = 3.2;

int myInt = @(myDouble).intValue;

Пример кода, который я на самом деле использую:

NSNumber * percentLike1 = @(@(self.percentLike.doubleValue*100).integerValue);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...