如何将输出格式化为UILabel作为货币?

时间:2012-08-13 03:04:13

标签: ios numbers format uilabel currency

所以我正在使用小费计算器作为我的第一个自我引导的iOS应用程序,我希望能够输出到显示货币格式的账单的UILabel。例如,用户按1,标签显示$ 0.01,用户则输入2,标签显示$ 0.12,用户输入3,标签显示$ 1.23,依此类推。目前我正在获取输入并更新UIButton的显示,其中包含数字,如下所示: NSString *digit = sender.currentTitle; self.display.text = [self.display.text stringByAppendingString:digit];

我在这里已经阅读了几个关于数字格式的问题并尝试了解决方案,但是无法使用任何东西,但是大多数解决方案都是针对UITextFields的,所以我想也许我的输入方式有问题?任何帮助将不胜感激。

*澄清一下,我要说的是速度。我有一个十进制按钮并且显示带有$符号,但我想摆脱十进制按钮,所以用户所要做的就是打入数字,甚至不用担心放小数。

1 个答案:

答案 0 :(得分:1)

这是一个想法,为什么不将数字存储在美分/便士中 - 即货币的最小可能值。这样,如果用户按下另一个号码,您可以简单地将现有号码乘以10并添加新号码。

一个例子:

  • 用户按下1 =>之前的数字为0,因此新数字为0 * 10 + 1 = 1
  • 用户按下2 =>之前的数字是1,所以新数字是1 * 10 + 2 = 12
  • 用户按下3 =>之前的数字是12,所以新的数字是12 * 10 + 3 = 123

现在要显示这一点,您所要做的就是将数字除以100(或适用于给定货币的任何数字)并将结果用于格式为%0.01f的字符串