簡體   English   中英

Apple文檔“數據格式指南”中的NSNumberFormatter錯誤

[英]NSNumberFormatter error from the Apple Documentation “Data Formatting Guide”

我按照Apple Developer網站上的“ 數據格式指南 ”進行操作:

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 在文檔中指向我們的模式。 我在談論iPhone編程。 謝謝你們!

再次編輯

讓我們概括一下我的問題:如果你看一下模式 ,假設我有一個字符串“1 234,57€”(鏈接中的最后一個),我想將這個字符串解析成一個數字,我需要指定格式為:“###0.00¤”,但現在對於iPhone應用程序,正如兩個人建議的那樣,沒有setFormat:方法。

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[numberFormatter setFormat:@"# ##0.00 ¤"];
NSNumber *dollars = [numberFormatter numberFromString:@"1 234,57 €"];

你怎么應付這個?

您正在查看的鏈接適用於Mac,而非iOS NSNumberFormatterReference

試試這個:

[numberFormatter setNumberStyle:NSNumberFormatterPercentStyle];

看起來NSNumberFormatter類上沒有setFormat:方法(盡管文檔 !)

請嘗試使用setPositiveFormat:方法嗎?


雖然看看你的示例問題,但這可能會更好:

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

或者,如果要將其存儲在字符串中:

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

看一下字符串格式指南

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM