首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSNumberFormatter setFormat误差

NSNumberFormatter setFormat误差
EN

Stack Overflow用户
提问于 2013-11-20 05:53:28
回答 2查看 1.3K关注 0票数 3

正在开发我的第一个iOS应用程序。我认为这段代码应该可以工作,但是我得到了以下错误。也许我漏掉了进口什么的?

No visible @interface for 'NSNumberFormatter' declares the selector'setFormat'

代码语言:javascript
复制
NSNumberFormatter* formatter = [[NSNumberFormatter alloc] init];
[formatter setFormat:@"#0.00"];
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-20 06:00:49

你不能叫setFormat: for NSNumberFormatter。

一些示例代码:

代码语言:javascript
复制
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;
NSString *string = [formatter stringFromNumber:[NSNumber numberWithInt:123456789]];
NSLog(@"Formatted number string:%@",string);

numberStyle枚举:

代码语言:javascript
复制
enum {  
    NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle,
    NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle,
    NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle,
    NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle,
    NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle,
    NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle
};

为每个numberStyle重新分配:

代码语言:javascript
复制
[1243:403] Formatted number string:123456789
[1243:403] Formatted number string:123,456,789
[1243:403] Formatted number string:¥123,456,789.00
[1243:403] Formatted number string:-539,222,988%
[1243:403] Formatted number string:1.23456789E8
[1243:403] Formatted number string:one hundred twenty-three million four hundred fifty-six thousand seven hundred eighty-nine
票数 1
EN

Stack Overflow用户

发布于 2013-11-20 05:58:14

您不能像这里提供的那样设置格式。设置数字格式,如下所示

代码语言:javascript
复制
[formatter setNumberStyle:NSNumberFormatterSpellOutStyle];
//or other styles like NSNumberFormatterDecimalStyle,NSNumberFormatterPercentStyle

或者您可以创建一个自定义数字格式,如

代码语言:javascript
复制
[formatter setPositiveFormat:@"#0.00"];

这里提供了一个很好的教程。

http://useyourloaf.com/blog/2012/06/14/using-number-formatters.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20088427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档