Как преобразовать объекты NSNumber для вычислительных целей?
-
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);