使用逗号时将String转换为double

Nat*_*sha 4 double objective-c nsstring nsformatter ios

我有一个UITextfield,它正在被来自数据库的数据填充.该值的格式为小数部分用逗号分隔.所以,结构就像1,250.50

我将数据保存在字符串中,当我尝试使用doubleValue方法将字符串转换为double或浮点数时.我得到1.这是我的代码.

NSString *price = self.priceField.text; //here price = 1,250.50
double priceInDouble = [price doubleValue];
Run Code Online (Sandbox Code Playgroud)

在这里,我得到1而不是1250.50.

我想,问题是逗号,但我无法摆脱那个逗号,因为它来自数据库.任何人都可以帮我把这个字符串格式转换为double或float.

Des*_*ova 8

您可以使用这样的数字格式化程序;

NSString * price = @"1,250.50";
NSNumberFormatter * numberFormatter = [NSNumberFormatter new];

[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setGroupingSeparator:@","];
[numberFormatter setDecimalSeparator:@"."];

NSNumber * number = [numberFormatter numberFromString:price];

double priceInDouble = [number doubleValue];
Run Code Online (Sandbox Code Playgroud)