我想将字符串转换为货币并保留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
。
答案 0 :(得分:1)
maximumFractionDigits
和所有类似属性仅用于将数字格式化为字符串。使用NumberFormatter.number(from: String)
时,它们不用于舍入数字。