好的,如果我有一个双开始我如何限制或截断数字到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。
答案 0 :(得分:1)
我不确定,但您可以尝试NSString *formatted = [NSString stringWithFormat:@"%.1f", a];
,然后使用格式化为标签文字