2009-11-26 18 views
11

NSNumbers'e bir dizeden, x ve y'den almak için bir tarayıcı kullandığım bir kod geliştiriyorum.NSNumber nesnelerini hesaplama amacıyla nasıl dönüştürürüm?

Şimdi x ve y'den basit bir şeyi hesaplamak istiyorum, z = 10.0/(x + y/60.0) /60.0). Derleyici, sayı nesnelerine uygulanan sıradan aritmetik sembolojiyi sevmediği için bunu doğrudan yapamam.

Yani, çift Çeşidi xD ve yD'nin tanımlanması güvenilir ve daha sonra bir tür dönüşüm

xD = (çift) x, çalıştı; yD = (çift) y;

ancak bu aynı zamanda bir derleme hatası verir. Sıradan aritmetik ifadelerde kullanılmak üzere dönüştürülen NSNumber nesneleri nasıl elde edilir? Edebiyatı hatırladım ve cevabı bulamadım.

Yardımlarınız için şimdiden teşekkür ederiz.

John Döner

cevap

29

kullanımı NSNumber sınıfı "value" methods örneğin doubleValue olarak.

// 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);