2011-02-10 24 views
5

Çift değeri NSString olarak göstermenin doğru yolu nedir? Kodumda, bir çeşit yuvarlama hesaplıyor ya da yapıyor ... Emin değilim. Aşağıda benim kodum;Çift değeri NSString olarak göster

X = [NSString stringWithFormat:@"%d", [abc doubleValue] - [xyz doubleValue]]; 

Ben abc alıyorum 69206000000 olup, xyz 31687000000 olup, X 58720256

Lütfen bana yardım olduğunu.

cevap

13

Bir çift değeri görüntülemek için %f biçim değiştiricisini kullanın; kodunuzdaki %d, bir tamsayı değerine işaret eder. (Daha fazla bilgi için bkz. String Format Specifiers.)

+5

'% f' bir süzgeç görüntüler. Doğru cevap uzun şamandıra (çift) için% lf'dir. – svoisen

+0

Apple'ın [NSString biçim belirteçleri] (https://developer.apple.com/library/mac/documentation/cocoa/conceptual/strings/articles/formatSpecifiers.html), "% f" nin "64 bitlik kayan" olduğunu söylüyor. nokta numarası ('double'). Dahası, 'l' argümanı (uzunluk değiştiricileri için Tablo 2'nin altında) sadece 'd', 'o', 'u', 'x' veya 'X' için geçerli olacak şekilde belgelenmiştir. – Tim

+0

Ve dahası, Tablo 3 açıkça diyor ki: "'% f' biçimlendirme yaparken yüzer ve iki kat çalışır ... " – Tim

1

% d tam sayı demektir. % F kullanın. Biçim belirleyicileri hakkında bilgi edinin.

3

% d tamsayılar içindir, böylece bir çift ya da kayan noktadan geçerken biraz korkak çıkış elde edersiniz. Bunun yerine bu deneyin:

NSString *str = [NSString stringWithFormat:@"%f", [abc doubleValue] - [xyz doubleValue]]; 
7

kullanın %lf bu size yardımcı olacaktır

X = [NSString stringWithFormat:@"%lf", [abc doubleValue] - [xyz doubleValue]]; 

Umut çift değeri.