NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle];
double value = [[numberFormatter numberFromString: ProviderTripRate.text] doubleValue];
[User setDouble:value forKey:@"Trip_Rate"];
NSLog(@" %@ %f " , ProviderTripRate.text , value );
如果 ProviderTripRate.text 中的数据为 2.75,则值为 0 错误 如果 ProviderTripRate.text 中的数据为 $2.75,则值为 2.75,正确
如何可靠地将字符串转换为 double 值 请注意,文本字符串可能有也可能没有本地货币符号($ 如上所示) 但它应该总是转换
提前致谢
最佳答案
试试这个:
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle];
NSNumber* number = [numberFormatter numberFromString:ProviderTripRate.text]
if (!number) {
[numberFormatter setNumberStyle: NSNumberFormatterDecimalStyle];
number = [numberFormatter numberFromString:ProviderTripRate.text];
}
double value = [number doubleValue];
关于ios - 将字符串转换为带有货币的 double 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12920345/