2009-05-01 160 views
31

我試圖用NSNumberFormatter四捨五入到5的數字小數位在iPhone應用程序,但[formatter stringFromNumber:]總是返回四捨五入至0.001(3位小數)的字符串。我究竟做錯了什麼?NSNumberFormatter只四捨五入到小數點後3位

formatter = [[NSNumberFormatter alloc] init]; 
[formatter setNumberStyle:NSNumberFormatterDecimalStyle]; 
[formatter setRoundingMode:NSNumberFormatterRoundHalfUp]; 
[formatter setSecondaryGroupingSize:3]; 
[formatter setRoundingIncrement:[NSNumber numberWithDouble:0.00001]]; 

回答

2

嘗試[formatter setFormat:@「0.00000」];而不是setRoundingIncrement :.

+2

我不認爲setFormat:是iPhone上可用。見http://stackoverflow.com/questions/416037/iphone-nsnumberformatter-setformat – ChadK 2009-05-01 05:19:58

+0

其實,我收回這句話。 setFormat:@「0.00000」確實有效,但它不會輪到......我總是會得到5個數字,例如0.10000,當我真的只想要0.1時。 – ChadK 2009-05-01 05:24:56