大家好,这是我的第一个问题,我想对你来说很容易,我想转换这个NSString" 42031692.7810"这样的事情:$ 4,2031,692.78,我有这个代码:
NSString *element = @"42031692.7810";
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[formatter setGeneratesDecimalNumbers:YES];
[formatter setMaximumFractionDigits:2];
NSNumber *temp = [formatter numberFromString:element];
NSLog(@"formatter%@",[temp stringValue]);
但是输出是这样的:
2012-04-19 14:43:42.467 HelloWorld[5663:f803] formatter(null)
我该如何解决这个问题?希望你能帮我!!
问候!
答案 0 :(得分:2)
您有字符串@"42031692.7810"
,并且您设置了NSNumberFormatter
来接受样式为货币的内容。 @"42031692.7810"
未设为货币样式。因此它返回nil
。
您必须将数字格式化程序设置为接受十进制输入,将字符串转换为NSNumber
,然后将格式化程序样式设置为" Currency"样式,然后将NSNumber
转回NSString
。