2
我想隐蔽一个String货币和保持小数点后2位:的NumberFormatter货币类型最多小数点后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
。
但是文档中提到:接收器允许作为_input_和_output_的小数点分隔符后的最大位数。这意味着它应该返回nil为¥1213.1263,因为在输入中不允许有超过2个小数位。你如何解释这个? – Sweeper
文档(在其他一些情况下)不是100%准确的。它没有说明它指的是哪个* input *和/或* output *格式。您可以检查自己,这是'NumberFormatter'的工作原理,并且已经工作了很长时间。 –
哦,好吧。我同意苹果公司的文档很糟糕。 – Sweeper