2011-02-07 8 views
3

私は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があるよう

答えて

0

は見えません:NSNumberFormatterクラスのメソッドを(!それはすべてthe documentation上だが)

setPositiveFormatをお試しください:メソッドの代わりに?

NSString *myString = [NSString stringWithFormat:@"%f", 4.0f]; // You might need to retain this! 

は見てみましょう:あなたは、文字列でそれを保存したい場合は、

NSLog(@"%f", 4.0f); 

のか:


あなたの例の問題を見ていますが、これは良いかもしれませんstring formatting guide

+0

こんにちはディーン、私はoffcourse、私は解決策を見つけることができ、特別な場合の話ではないのですどういうわけか、私は一般的に話しています。 Appleが私たちに示すリンクを見てください:http://unicode.org/reports/tr35/tr35-4.html#Number_Format_Patternsこれらのパターンをどのように指定しますか? –

+0

ああ、あなたが通貨/ロケールのものの後にいるなら、stringWithFormatはあなたを全く助けません - 私の答えの2番目の部分を無視してください!しかし、最初の部分はまだ動作するはずです( 'setPositiveFormat:') – deanWombourne

+0

こんにちは、もう一度私の質問を編集しました。具体的なケースではなく、一般的なものについて話しましょう、私はpositiveFormatだけを指定することはできません。 –

3

あなたが見ているリンクは、Mac用で、iOSのNSNumberFormatterReference

はこれをしようとしない。

[numberFormatter setNumberStyle:NSNumberFormatterPercentStyle]; 
+0

アドレスが異なっていても、投稿された例はまだあります。http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/DataFormatting/Articles/dfNumberFormatting10_4 。html#// apple_ref/doc/uid/TP40002368-SW1 –

+2

データフォーマットガイドは同じように見えるかもしれませんが、iOSガイドからリンクをクリックすると、NSNumberFormatterクラスリファレンスのiOSバージョンに移動しますMac版。特に、iOS版には 'setFormat'はありません。そのため、正しいバージョンのドキュメントを確認する必要があります。 – Abizern

+0

こんにちはアビゼム、私も学長に投稿したコメントを読むことができますか? –

関連する問題