如何将货币格式化文本转换为双值或NSNumber值?

时间:2011-09-08 06:08:25

标签: iphone objective-c xcode cocoa-touch

我想将货币转换为双倍价值

在我的应用程序中,我有一个textField,显示Currency Like

$ 1,234,567.00

我可以通过子串轻松删除$符号

但是否有任何格式化程序样式可以使它成为Double? 实际上当我在做什么时

vardouble = [txtfield.text doublevalue];

因为逗号它显示1.00(高于值)。

2 个答案:

答案 0 :(得分:9)

我建议您使用NSNumberFormatter

NSNumberFormatter *nf = [[NSNumberFormatter alloc] init];
[nf setNumberStyle:NSNumberFormatterCurrencyStyle];
double d = [[nf numberFromString:@"$1,234,567.00"] doubleValue];

答案 1 :(得分:3)

1)首先使用- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement;

删除逗号

2)然后致电[yourString doubleValue]