1

画面に表示される数値の書式設定が非常に制限されている商用のサードパーティ ライブラリを使用しています。

labelFormatString各シリーズで呼び出される文字列をカスタマイズできます。次に例を示します。

donutSeries.labelFormatString = @"$%.02f";

のようにprintf/NSString stringWithFormat

そしてもちろん、私の要件は、表示する代わりに理解できない最後の微調整を私に課します。$123456789それらを表示する必要があります$123,456,789

可能であれば、上記の文字列のみを使用してこれを達成できますかNSNumberFormater?

ありがとう

ジェイソン

4

2 に答える 2

2

@zahreelay彼は、フォーマッターを使用できないため、フォーマッターなしで言った。書式設定はロケールやその他のものに依存し、obj-c 文字列の書式設定は printf の書式設定仕様とまったく同じではないため、不可能だと思います。printf を使用して 1000 単位の区切りを機能させる場合でも、ロケールを設定する必要があります。

setlocale(LC_ALL, "");
unsigned int x = 12345u;
printf("%'8u\n", x); //prints 12,345

残念ながら、これは NSLog for ex では機能しません。(ちょうどそれをテストしました)

于 2012-05-11T09:16:33.683 に答える
-1

NSNumberFormatter クラスを見てください。それを使用して達成できると思います。

例えば

NSNumberFormatter *formatter = [NSNumberFormatter new];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle]; // this line is important!

NSString *formatted = [formatter stringFromNumber:[NSNumber numberWithInteger:2000000]]

[formatter release];
于 2012-05-11T09:12:00.347 に答える