Подтвердить что ты не робот

Objective-C, как преобразовать double в int?

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

alt text

4b9b3361

Ответ 1

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

double myDouble = 3.2;
int myInt = (int)myDouble;

Ответ 2

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

Ответ 3

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

Ответ 4

double myDouble = 3.2;

int myInt = @(myDouble).intValue;

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

NSNumber * percentLike1 = @(@(self.percentLike.doubleValue*100).integerValue);