Objective c 如何使用NSNumberFormatter从double截断.000个零

Objective c 如何使用NSNumberFormatter从double截断.000个零,objective-c,xcode,decimal,string-formatting,nsnumberformatter,Objective C,Xcode,Decimal,String Formatting,Nsnumberformatter,好的,如果我有一个双精度的开始,我如何限制它或截断数字到1dp,因为我知道他们不需要被查看 double a = 1.6; NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init]; NSString *numberAsString = [numberFormatter stringFromNumber:[NSNumber numberWithDouble:a]]; [numberFormatter setNu

好的,如果我有一个双精度的开始,我如何限制它或截断数字到1dp,因为我知道他们不需要被查看

double a = 1.6;

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
NSString *numberAsString = [numberFormatter stringFromNumber:[NSNumber numberWithDouble:a]];

[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setGeneratesDecimalNumbers:YES];
[numberFormatter setMaximumFractionDigits:1];
[numberFormatter setMinimumFractionDigits:1];
[numberFormatter setAlwaysShowsDecimalSeparator:YES];  

NSLog(@"a raw: %f", a); //outputs 1.600000

myLabel.text = [NSString stringWithFormat:@"%@",numberAsString];

NSLog(@"Formatted a: %@", numberAsString); //outputs 2

[numberFormatter release];

所以问题是它对值进行四舍五入,不留小数点,我试图让它只输出myLabel的1.6。

我不确定,但您可以尝试使用
NSString*formatted=[NSString stringWithFormat:@“%.1f”,a]
,然后使用格式化的作为标签文本

我不确定,但您可以尝试使用
NSString*formatted=[NSString stringWithFormat:@“%.1f”,a],然后使用格式化的文本作为标签文本