%g
文字列の形式が float で 6 つの数値しか処理できず、その後は科学表記法に変わるのはなぜですか? 形式に似たフロートを表示する他の方法はあり%g
ますが、6 つ以上の数値を許可しますか?
編集: %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");
}
}
55555555 の代わりに "5" を 8 回押すと、55551782 などと表示されます。クレイジーな数ではなく、希望の 8 つの 5 になるように修正するにはどうすればよいですか?