1

さて、もし私がダブルを持っているなら、どうやってそれを制限するか、数字を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だけを出力するようにしようとしています。

4

1 に答える 1

1

よくわかりませんが、 を試してNSString *formatted = [NSString stringWithFormat:@"%.1f", a];から、書式設定された をラベル テキストとして使用できます

于 2010-09-15T14:01:19.477 に答える