0

小数がある場合とない場合がある数値にラベルを設定する必要があります。5.00 にしたくありません。5 だけです (標準トークンを使用している場合に発生する可能性があります)。ただし、.56 などの有効な小数がある場合は、5.56 と表示する必要があります。.5 の場合は、5.56 と表示されます。一連の if ステートメントを使用する以外に、必要な小数のみを表示するにはどうすればよいですか (つまり、簡単な修正方法はありますか、それとも手動で行う必要がありますか)。

4

1 に答える 1

4

ココアでは、表示用に数値をフォーマットする最良の方法はNSNumberFormatterを使用することです。

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumSignificantDigits:2];

NSNumber *significant = [NSNumber numberWithFloat:10.56f];
NSNumber *nonSignificant = [NSNumber numberWithFloat:10.00f];

NSLog(@"sig: %@, non-sig: %@", [formatter stringFromNumber:significant], [formatter stringFromNumber:nonSignificant]);
//sig: 10.56, non-sig: 10
于 2012-08-06T05:45:46.073 に答える