NSDecimalNumber是用较少数量的零保存的,例如我在文本字段中输入$6000,00,但在tableview中显示为$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]]; 发布于 2012-12-19 19:10:15
尝试此代码可能会对您有所帮助。
- (IBAction)saveChanges:(id)sender {
editGift.nameOfGift = nameTextField.text;
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:editGift.priceOfGift];https://stackoverflow.com/questions/13950585
复制相似问题