Objective c 如何使用NSNumberFormatter从double截断.000个零
好的,如果我有一个双精度的开始,我如何限制它或截断数字到1dp,因为我知道他们不需要被查看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
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]代码>,然后使用格式化的文本作为标签文本