2009-11-26 30 views
11

Tôi đang phát triển một số mã trong đó tôi sử dụng một máy quét để có được NSNumbers từ một chuỗi, nói x và y.Làm thế nào để chuyển đổi các đối tượng NSNumber cho mục đích tính toán?

Bây giờ tôi muốn tính toán một cái gì đó đơn giản từ x và y, nói, z = 10,0/(x + y/60.0) /60.0). Tôi không thể làm điều này trực tiếp, vì trình biên dịch không giống như mã vạch số học thông thường được áp dụng cho các đối tượng số.

Vì vậy, tôi đã cố gắng xác định xD và yd, kiểu double, và sau đó thử một loại chuyển đổi

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

nhưng điều đó cũng tạo ra lỗi biên dịch. Chỉ cần làm thế nào để một đối tượng NSNumber được chuyển đổi được sử dụng trong các biểu thức số học thông thường? Tôi đã duyệt rất nhiều tài liệu và không tìm thấy câu trả lời.

Cảm ơn trước vì đã được trợ giúp.

John Doner

Trả lời

29

Sử dụng "value" methods của lớp NSNumber như 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); 
Các vấn đề liên quan