为什么NumberFormatter函数func string(from number: NSNumber) -> String?返回String?而不是String?NumberFormatter这个函数返回的位置是否有特定的输入或状态为零?有时我听说这些不太理想的返回类型来自Objective-C保持文件,这是其中一种情况吗?
这是我的代码
NSNumberFormatter *currencyStyle = [[NSNumberFormatter alloc] init];
[currencyStyle setFormatterBehavior:NSNumberFormatterBehavior10_4];
[currencyStyle setNumberStyle:NSNumberFormatterCurrencyStyle];
NSNumber *amount = [[NSNumber alloc] init];
NSLog(@"the price string is %@", price);
amount = [currencyStyle numberFromString:price];
NSLog(@"The converted number is %@",[currencyStyle numberFromString:price]);
NSLog(@"The NSNumber is %@", amount);
NSLog(@"The formatted version is %@", [currencyStyle stringFromNumber:amount]);
NSLog(@"--------------------");
self.priceLabel.text = [currencyStyle stringFromNumber:amount];
[amount release];
[currencyStyle release];
Run Code Online (Sandbox Code Playgroud)
这是日志吐出的内容
价格字符串是5转换后的数字是(null)NSNumber是(null)格式化的版本是(null)
我错过了什么吗?
编辑:更新的代码
NSNumberFormatter *currencyStyle = [[NSNumberFormatter alloc] init];
[currencyStyle setFormatterBehavior:NSNumberFormatterBehavior10_4];
[currencyStyle setNumberStyle:NSNumberFormatterCurrencyStyle];
NSNumber *amount = [currencyStyle numberFromString:price];
NSLog(@"the price string is %@", price);
NSLog(@"The …Run Code Online (Sandbox Code Playgroud)