好的,所以我有一个自定义数字键盘,它可以在标签(numberField)中显示数字为 0.00,现在我需要它显示 0.00 美元。
NSString *digit = sender.currentTitle;
numberField.text = [numberField.text stringByAppendingString:digit];
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setGroupingSeparator:@""];
[numberFormatter setMaximumIntegerDigits:4];
[numberFormatter setMaximumFractionDigits:2];
[numberFormatter setMaximumFractionDigits:2];
numberField.text = [numberField.text stringByReplacingOccurrencesOfString:@"." withString:@""];
NSDecimalNumber *currency = [[NSDecimalNumber decimalNumberWithString:numberField.text] decimalNumberByDividingBy: [NSDecimalNumber decimalNumberWithString:@"100"]];
NSString *numberFieldFormat = [numberFormatter stringFromNumber:currency];
numberField.text = numberFieldFormat;
我尝试了 $%1.2f 但它崩溃了,因为它无法将 $ 符号识别为数字。有人可以帮我吗?或者有更好的方法来制作带有 $ 符号的自定义垫?
**编辑我正在考虑将 numberField 设置为隐藏标签(alpha 0)并将副本(numberField2)直接放在顶部并通过 stringWithFormat 运行它。它有效,但我认为可能有一种更清洁的方法。