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



所以我正在开发一个小费计算器作为我的第一个自助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 的,所以我在想也许我如何获取输入存在问题?任何帮助将不胜感激。

*澄清一下,我要的是速度。我有一个小数点按钮,并且显示带有$符号,但我想摆脱小数点按钮,因此用户所要做的就是输入数字,甚至不必担心输入小数。

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

举个例子:

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

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

最新更新