为什么%g
字符串的格式只处理浮点数中的六个数字,然后变成科学计数法?有没有其他方法可以显示类似于%g
格式但允许超过六个数字的浮点数?
编辑:我已经精确计算出 %g ,即将 %g 转换为 %.Xg ,其中 x 是指定的有效位数。但在这种情况下它对我没有帮助:
-(IBAction)numberPressed:(id)sender {
if (decimalChecker == 1) {
currentDecimal = currentDecimal*10+ (float)[sender tag];
decimaledNumberString = [[NSString alloc] initWithFormat:@"%.17g.%.17g", currentNumber, currentDecimal];
calculatorScreen.text = decimaledNumberString;
currentDecimaledNumber = [decimaledNumberString floatValue];
NSLog(@"regular");
} else {
currentNumber = currentNumber*10+ (float)[sender tag];
calculatorScreen.text = [[NSString alloc] initWithFormat:@"%.17g", currentNumber];
NSLog(@"regular");
}
}
如果我按“5”八次而不是 55555555,我会得到 55551782 或类似的东西。我怎样才能将它修复到我想要的八个五而不是疯狂的数字?