1

ラベルの 1 つに plist から Number を表示しています (キーが存在する場合)。plist に 98,90 と入力すると、数値が 98,9000000000001 に変更されることがありました。だから私は小数点以下2桁の数字を表示したいのでNSNumberFormatter、仕事をするためにaを追加しようとしています。しかし、私はそれを機能させることができません。正しく行うには助けが必要です。これは私の試みです:

 NSString *theString = @"";
 if ([selectedObject valueForKey:@"75 cl"] != nil) {

     NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
     [formatter setPositiveFormat:@"###.##"];

     theString = [NSString stringWithFormat:@"75 cl € %@", [formatter stringFromNumber:[selectedObject valueForKey:@"75 cl"]]];
 }
 sevenfiveLabel.text = theString;
4

2 に答える 2

1

NSNumberFormatter:を使用する必要はありません。

NSString *theString = @"";
NSNumber *theNumber = [selectedObject valueForKey:@"75 cl"];

if (theNumber) {
    theString = [NSString stringWithFormat:@"75 cl € %.2f", [theNumber floatValue]];
}

sevenfiveLabel.text = theString;
于 2012-07-20T21:56:44.903 に答える
1

フォーマット文字列の A#は、オプションの数字を表します。フォーマッタは、必要な場合にのみ数字を配置します。文字列を強制的に埋めたい場合0は、フォーマット文字列で a を使用する必要があります。

Format   Result
###.##   98.9
##0.00   98.90
000.00   098.90
于 2012-07-20T21:51:55.263 に答える