NSDecimalNumber はより少ない数のゼロで保存されます。たとえば、テキストフィールドに $6000,00 と入力しますが、テーブルビューには $6,00 が表示されます
この問題の解決を手伝ってください
以下は私のコードです:
@property (strong, nonatomic) NSNumberFormatter *currencyFormatter;
@synthesize currencyFormatter;
- (void)viewDidLoad
{
[super viewDidLoad];
nameTextField.text = editGift.nameOfGift;
currencyFormatter = [[NSNumberFormatter alloc]init];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
priceTextField.text = [currencyFormatter stringFromNumber:[editGift priceOfGift]];
}
- (IBAction)saveChanges:(id)sender {
editGift.nameOfGift = nameTextField.text;
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
NSDecimalNumber *priceAmount = [NSDecimalNumber decimalNumberWithString:priceTextField.text];
editGift.priceOfGift = priceAmount;
AppDelegate *myApp = (AppDelegate *) [[UIApplication sharedApplication]delegate];
[myApp saveContext];
[self.delegate editGiftViewControllerDidSave:self];
}
tableView で表示:
NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc]init];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
cell.giftCostLabel.text = [currencyFormatter stringFromNumber:[gift priceOfGift]];