【问题标题】:Format Integer as Two Places Decimal将整数格式化为两位小数
【发布时间】:2009-10-14 15:34:07
【问题描述】:

我正在向用户展示一个显示数字键盘的字段,并且只希望他们能够输入数字——没有小数。但是,由于该字段是货币字段,因此我希望该数字始终显示为两位小数。您可能已经在 ATM 上看到过这种类型的界面。

我查看了 NSNumberFormatter 文档和使用 [NSString stringWithFormat] 的一般格式,但我不清楚这样做的好方法。我正在使用 UIControlEventEditingChanged 事件的选择器在现场监听。我想在那个选择器中进行格式化。当我使用 [NSString stringWithFormat: @"%.2f", amount] 时,它总是将数量放在小数点的左侧。我希望它始终是小数部分,直到输入第三个数字,所以如果用户输入 32,则实际金额为 0.32。如果用户输入 173,则该值实际上是 1.73。如果用户输入 10047,实际值应该是 100.47 等等。

有什么建议吗?

谢谢。

【问题讨论】:

  • 有什么理由在显示之前不只除以 100?
  • 没有任何原因,除非我头很冷,而且我今天没有好好思考。 ;-) 谢谢。

标签: iphone cocoa-touch nsnumberformatter


【解决方案1】:

将他们输入的金额视为美分而不是美元。格式化前除以 100。

【讨论】:

  • 现在很明显了。我想我今天应该待在床上。头感冒很糟糕。 ;-) 感谢您的回答。
  • 我不会使用浮点数,将其保留为整数:[NSString stringWithFormat: @"%d.%02d", amount/100, amount%100]
猜你喜欢
  • 2011-01-10
  • 1970-01-01
  • 2011-06-04
  • 1970-01-01
  • 1970-01-01
  • 2013-09-04
  • 2020-10-12
  • 1970-01-01
相关资源
最近更新 更多