如何在iOS中构建计算器式数字输入字段?

Dav*_*ree 5 iphone uitextfield uiview ios

我已经知道如何启用数字键盘并验证字段输入以确保它是数字.我想知道的是如何设置一个输入视图,让我的用户从右到左输入一个数字值,如计算器或ATM机.

换句话说,我希望用户能够输入:

2 0 0 4 9
Run Code Online (Sandbox Code Playgroud)

并将其显示为$ 200.49.

然后,一旦这样被输入时,我还需要或缩小这个输入视图作为一个NSNumber或NSDecimalNumber,用正确的小数位的获得值.

例如,我有一个相当于17.50的NSDecimalNumber.我需要能够将此数字传递到键盘视图进行编辑,然后将编辑后的值作为数字对象返回.

假设用户编辑该值; 他们看到的价值

1 7 5 0
Run Code Online (Sandbox Code Playgroud)

然后他们点击退格键.显示的数字将是

1 7 5
Run Code Online (Sandbox Code Playgroud)

我需要将这个数字恢复为1.75,而不是175或17.5.

有什么建议?

rob*_*rob 0

要格式化字符串,您可以使用 NSNumberFormatter。像这样的东西:

float input = 20049.0f / 100.0;

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

NSNumber *nsInput = [NSNumber numberWithFloat:input];
NSString* formattedOutput = [formatter stringFromNumber:nsInput];
NSLog(@"Output as currency: %@", formattedOutput);

[formatter release];
Run Code Online (Sandbox Code Playgroud)