私はAppleデベロッパのウェブサイトから「Data Formatting Guide」に従う:NSNumberFormatterエラー「データの書式ガイド」
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setFormat:@"0.00%;0.00%;-0.00%"];
NSNumber *four = [NSNumber numberWithFloat:4.0];
NSLog(@"%@", [numberFormatter stringFromNumber:four]);
しかし、それは例外をスロー:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSNumberFormatter setFormat:]: unrecognized selector sent to instance 0x59359b0'
文書が最後でした2009年に更新されたので、私はそれを責めません。私の質問は次のとおりです。このエラーをどう対処しますか?
編集質問
どのようにするNSNumberの形式を指定するのですか?どのように文字列を数値、文字列を数値に解析しますか? Appleが私たちに指示したパターンをどのように指定しますかin a document。私はiPhoneのプログラミングについて話している。皆さん、ありがとうございました!
編集再び
のは私の質問を一般化してみましょう:あなたが見at the patternsを取る場合、私は、文字列「1 234,57€」(リンクの最後の1)を持っていると私はパースしたいのは、言わせてこの文字列を数値にするには、フォーマットを "### 0.00¤"として指定する必要がありますが、iPhoneアプリケーションの場合、2人が示唆するように、setFormat:メソッドはありません。
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setFormat:@"# ##0.00 ¤"];
NSNumber *dollars = [numberFormatter numberFromString:@"1 234,57 €"];
これにどのように対処していますか? setFormatがあるよう
こんにちはディーン、私はoffcourse、私は解決策を見つけることができ、特別な場合の話ではないのですどういうわけか、私は一般的に話しています。 Appleが私たちに示すリンクを見てください:http://unicode.org/reports/tr35/tr35-4.html#Number_Format_Patternsこれらのパターンをどのように指定しますか? –
ああ、あなたが通貨/ロケールのものの後にいるなら、stringWithFormatはあなたを全く助けません - 私の答えの2番目の部分を無視してください!しかし、最初の部分はまだ動作するはずです( 'setPositiveFormat:') – deanWombourne
こんにちは、もう一度私の質問を編集しました。具体的なケースではなく、一般的なものについて話しましょう、私はpositiveFormatだけを指定することはできません。 –