0

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

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

4

1 回答 1

1

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

一个例子:

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

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

于 2012-08-13T04:37:34.350 回答