2009-05-01 134 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