Как преобразовать объекты NSNumber для вычислительных целей?

StackOverflow https://stackoverflow.com/questions/1801197

  •  05-07-2019
  •  | 
  •  

Вопрос

Я разрабатываю некоторый код, в котором я использую сканер, чтобы получить NSNumbers из строки, скажем, x и y.

Теперь я хочу вычислить что-то простое из x и y, скажем, z = 10.0 / (x + y / 60.0) /60.0). Я не могу сделать это напрямую, так как компилятору не нравятся обычные арифметические символы, применяемые к числовым объектам.

Итак, я попытался определить xD и yD типа double, а затем попытался преобразовать тип

xD = (double) x;    yD = (double) y;

но это также дает ошибку компиляции. Как можно преобразовать объекты NSNumber для использования в обычных арифметических выражениях? Я много просматривал литературу и не нашел ответа.

Заранее спасибо за любую помощь.

Джон Донер

Это было полезно?

Решение

Используйте " значение " методы класса NSNumber, такие как doubleValue .

// Initialized to something earlier
NSNumber * x, y;

//Convert NSNumbers to double
double xD = [x doubleValue]; 
double yD = [y doubleValue];

// You can now use regular arithmetic operators
double zD = 10.0 / ((x + y / 60.0) / 60.0);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top