2010-11-08 134 views
2

我有這樣一個問題: double calcValue;NSString stringWithFormat問題

NSString *buf = [NSString stringWithFormat:@"%14f", myCalculator.calcValue]; 

buf =「7.142857」;;

BUF = 「7.1428571428571423」 istead;

我試圖用這種方式來格式化它:@「%f」。 但是當我在逗號顯示後嘗試@「%14.9f」9個符號時。

最新問題?我該如何解決它?感謝名單!

回答

1

我不知道爲什麼,但stringWithFormat:似乎沒有正確格式化雙打。你可以試試這個方法:

double calcValue=7.1428571428571423; 
NSString *buf=[[NSNumber numberWithDouble:calcValue] stringValue]; 

將設置buf@"7.142857142857142"

爲了更好地控制數字位數,您可以使用NSNumberFormatter

+0

答案是使用「%g」。它一起做所有事情! – yozhik 2010-11-08 19:04:47

3

除非我誤解,否則正確格式爲@"%.14f

你做了什麼,@"%14f"說你最多需要14位數字,小數點前,但你沒有指定數字之後。

相關問題