2011-07-14 17 views
9

Ben bir iPhone hızını hesaplarken ediyorum ve bir etikette gösterilecek dizeyi yazmanız çift yazmaktır değişken calculatedSpeed ​​dönüştürme bilmek gerekir. İşte Tip çift telli iPhone'a nasıl dönüştürülür?

ben başlığında ne var: Burada

@interface myProject : UIViewController <CLLocationManagerDelegate> { 

double calculatedSpeed; 
    UILabel *velocityLabel; 
} 

Ve ana ne var: Ben olduğunu calculatedSpeed ​​için velocityLabel ayarlamak çalışıyorum nasıl

-(void)speedLocation:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 
{ 
double gpsSpeed = newLocation.speed; 

if(oldLocation != nil) 
{ 
    CLLocationDistance distanceChange = [newLocation getDistanceFrom:oldLocation]; 
    NSTimeInterval sinceLastUpdate = [newLocation.timestamp timeIntervalSinceDate:oldLocation.timestamp]; 
    calculatedSpeed = distanceChange/sinceLastUpdate; 

    velocityLabel.text = calculatedSpeed; 

} 

} 

Bildirimi çiftli bir değişken. Yani doğal olarak bana hata veriyor: 'setText:' argüman 1 için uyumsuz tür.

Yardımınız büyük beğeni topluyor.

Teşekkürler!

cevap

20
velocityLabel.text = [NSString stringWithFormat:@"%g", calculatedSpeed]; 
+1

Muhtemelen de yararlı dahil pek çok yeri belgelendiği gibi NSString tarafından kabul biçemleyicileri, printf tarafından kabul aynıdır söylemek http://www.thinkage.ca/english/gcos/expl/c /lib/printf.html. Eğer 'g' bakma Yani eğer o (C yükseltme kuralları başına, yani ya şamandıra) bir "çift" var bilimsel veya standart formatta çıktı göreceksiniz. – Tommy

+2

@ Tommy: Veya "3 printf". –

+0

Harika çalışıyor! –