我有一个 UILabel,它有一个格式化字符串(针对货币格式化),因此有一个美元符号,$21.34。
在核心数据实体中,属性的类型为 double,我使用 NSDecimalNumber 来保存到数据库。
self.purchase.name = self.nameTextField.text;
NSString *string = self.amountLabel.text
NSDecimalNumber *newAmount = [[NSDecimalNumber alloc] initWithString:string];
NSLog(@"%@", string); // THIS RETURNS NaN, because of dollar sign i think
NSManagedObjectContext *context = self.purchase.managedObjectContext;
NSError *error = nil;
if (![context save:&error])
{
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
无论如何,我需要它不为 NaN,所以我的想法是删除美元符号,但我不知道该怎么做,或者也许有更好的方法来实现我的目标。
NSString* cleanedString = [costString stringByTrimmingCharactersInSet: [NSCharacterSet symbolCharacterSet]];
比上面的强大得多(我认为它也能处理逗号)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)