【发布时间】:2019-05-25 13:44:02
【问题描述】:
好吧,看了一段时间后,我无法找到合适的答案来解决我的问题。
我有包含产品 pricez 数字的字符串。例如 1000、500 或 50。我希望将它们转换为 2 位小数:10.00、5.00 和 0.50
我怎样才能做到这一点,这是否也可以在不将它们转换为 int 或 float 以保留字符串的情况下实现?
【问题讨论】:
-
这个问题可能需要一些改进:当您似乎想要添加小数点时,标题会显示“添加逗号”;当(考虑到您的回答)您的意思似乎是“返回一个字符串”时,您专门说“不将它们转换为 int 或 floats”。
-
当您询问“不将它们转换为”数字类型时,实际情况是这正是您应该做的。然后您就可以享受
NumberFormatter的全部力量。本地化结果、小数分隔符、千位/分组分隔符等。虽然这个问题看起来像“只需插入一个.”,但它比这更复杂,NumberFormatter是解决所有这些问题的一个很好、简单的解决方案。但它确实需要先将您的字符串转换为数值并除以 100。不要进行笨拙的字符串操作,而是使用适当的工具NumberFormatter。
标签: swift string decimal comma