2

NSNumberFormatter を使用して、100 を掛けずに、指定された数値にパーセント ('%') を付加するだけにしたいと考えています。

kCFNumberFormatterPercentStyle私が欲しくない缶詰の自動的にx100。

たとえば、5.0 を 5.0% 対 500% に変換します。

以下を使用します。

NSNumberFormatter *percentFormatter = [[NSNumberFormatter alloc] init];
[percentFormatter setNumberFormat:@"##0.00%;-##0.00%"];

しかし、「setNumberFormat」は NSNumberFomatter には存在しません。

Core-Plot ラベルにこの NSNumberFormatter を使用する必要があります。

NSNumberFormat をカスタマイズするにはどうすればよいですか?

リック。

4

2 に答える 2

3

出典: Apple の NSDecimalNumber リファレンス。

どうやら、出力を100倍にしたくないと言って答えをほのめかしたようです。「setMultiplier」メソッドを持つ NSDecimalNumber を使用しています。

したがって、フォーマッタに既定の kCFNumberFormatterPercentStyle を使用した後、
次のように「setMultiplier:1」を使用しました。

 NSNumberFormatter *percentFormatter = [[NSNumberFormatter alloc] init];
 [percentFormatter setNumberStyle:kCFNumberFormatterPercentStyle];
 [percentFormatter setMultiplier:[NSNumber numberWithInt:1]];
于 2012-09-13T21:48:49.817 に答える
2

setMultiplier100倍しないように使ってみましたか?

NSNumberFormatter *percentFormatter = [[NSNumberFormatter alloc] init];
[percentFormatter setNumberStyle: NSNumberFormatterPercentStyle];
[percentFormatter setMultiplier:1];

パーセント記号を追加するだけで達成する必要がある場合は、次のように使用NSNumberFormatterできます。

[NSString stringWithFormat:@"%3.2f%%", [myNumber doubleValue]];

また、表示する桁数に合わせて精度指定子 (3.2) を調整する必要があります。

于 2012-09-13T21:36:37.923 に答える