NumberFormatter货币类型,最多2个小数位

时间:2017-08-08 10:04:55

标签: swift number-formatting

我想将字符串转换为货币并保留2个小数位:

let formatter = NumberFormatter()
formatter.maximumFractionDigits = 2
formatter.numberStyle = .currency
formatter.locale = Locale(identifier: "zh_CN")
formatter.number(from: "¥12")        // Output 12 correct.
formatter.number(from: "¥1213.1263") // Output 1213.1263
formatter.string(from: 1213.1263)    // Output "¥1,213.13"

您可以在评论中看到输出。为什么formatter.number(from: "¥1213.1263")输出1213.13?我设置的最大分数是2

1 个答案:

答案 0 :(得分:1)

maximumFractionDigits和所有类似属性仅用于将数字格式化为字符串。使用NumberFormatter.number(from: String)时,它们不用于舍入数字。