使用小键盘以所需格式输入货币值

时间:2011-11-29 04:00:43

标签: iphone uilabel currency

我希望屏幕以" $ 0.00"开头。 (或基于语言环境的其他符号)我可以输入值,它将一次更新一个。 (类型1234,返回$ 0.01,$ 0.12,$ 1.23,$ 12.34)。 我知道如何使用输入到文本字段中的数字来执行此操作,只需单击按钮即可在文本字段中更改格式或更改为新标签。但是,我想要的是在没有额外按钮的情况下使用标签,而不是使用textField。

float moneyEarnedFloat = [revenueTextField.text floatValue]/100.0f;
NSNumber *moneyEarned = [NSNumber numberWithFloat:moneyEarnedFloat];
NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];

revenueTextField.text = [currencyFormatter stringFromNumber:moneyEarned];

一个例子是mint.com的添加交易屏幕。

1 个答案:

答案 0 :(得分:1)

试试这个:

NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
int currencyScale = [currencyFormatter maximumFractionDigits];

TextFieldDidChange:

[mytextField addTarget:self action:@selector(textFieldDidChange) forControlEvents:UIControlEventEditingChanged];

然后做:

    - (void)textFieldDidChange {
myLabel.text = mytextField.text;
}