NSNumberFormatterCurrencyStyle其中小数仅在键盘上使用句点时显示

时间:2014-04-22 04:02:12

标签: objective-c nsnumberformatter

我是一名新的obj c程序员,我还没有想出要转换以下情况的条件:

也就是说,如果用户键入" 1",那么费用将为" $ 1",如果用户键入" 1"那么" 2",费用将是" $ 12",如果用户类型" 1" " 2"然后" 3",费用将是" $ 123"。如果用户希望有任何分数,则需要手动输入十进制数。

我使用UITextField作为输入字段。我的部分代码:

    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
    [numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle];

    cell.input = [[UITextField alloc] initWithFrame:CGRectMake(0, 6, cell.frame.size.width, 80)];
    cell.input.currencyNumberFormatter = numberFormatter; 

我是否会将条件放在UITextField方法中:

  • (void)textFieldDidBeginEditing:(UITextField *)textField {}

您可以提供的任何提示都将非常感激。谢谢!

1 个答案:

答案 0 :(得分:1)

设置货币代码。设置最小和最大分数

[numberFormatter setCurrencyCode:@"USD"];
[numberFormatter setMaximumFractionDigits:2];
[numberFormatter setMinimumFractionDigits:0];