2

使用しようとしています。NSNumberFormatter使用したいのは-setPositiveFormat、フォーマットをカスタマイズするためです。

に変身121212.12したい12.12E+04

9桁と小数点以下2桁を使用する必要があります

私は次のことで私の目標に近づいています:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setFormatterBehavior:NSFoundationVersionNumber10_4]; // iOS supports only the modern 10.4+ behavior
[formatter setNumberStyle:NSNumberFormatterScientificStyle];
[formatter setMinimumFractionDigits:numberOfDecimalDigits];
[formatter setPositiveFormat:@"#.#E+00"];
[formatter setFormatWidth:9]; // set width
[formatter setPaddingCharacter:@"x"]; // choice padding Char
NSString *convertNumber = [formatter stringFromNumber:number];
return convertNumber;

しかし、それは機能していません...

次のような形式をカスタマイズします。

[formatter setPositiveFormat:@"#.#E+00]; // my string is from my intuition ....

それは解決策ですか?

#2番目の質問:どういう意味かわかりませんか?文字列にも00?(Docで答えが見つかりません)

ありがとう !

4

1 に答える 1

4

I understand that you want your formatted number to have exactly the following format: (2 digits).(2 digits)E+(2 digits)

You can configure your NSNumberFormatter as follows:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setPositiveFormat:@"00.00E+00"];
NSNumber *number = [NSNumber numberWithFloat:121212.12];
NSString *convertNumber = [formatter stringFromNumber:number];

As for the meaning of 0 and # have a look at this link.

于 2012-02-13T17:47:33.497 に答える