好吧,所以我有一个自定义数字键盘工作,并显示在标签(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运行它。它的作品,但我认为可能有一个更干净的方式来做到这一点。
...和货币符号的正确位置(在德国为'0,00€') –
是的,它正确地格式化了一个数字,但我无法在没有崩溃的情况下将其实施到数字键盘中。我已经尝试了一切。 – iamruskie
@大卫为什么会崩溃?此外,[这个答案](http://stackoverflow.com/a/5291342/115730)和[这个答案](http://stackoverflow.com/a/4821091/115730)可能会有所帮助。 –