如何使用 NumberFormatter() 在 swift 3 中设置 maximumFractionDigits

How to set maximumFractionDigits in swift 3 with NumberFormatter()

我一直在阅读 Apple 开发者文档,它似乎没有为 class NumberFormatter 更新,他们说它从 NSNumberFormatter 换成了 NumberFormatter.

我在 Swift 3 中找到了这个 class 的一些功能示例,但我找不到如何设置 maximumFractionDigits.

当我有像这样的 0.123456789 这样的 Double 时,我想将它转换成一个只有 4 个小数位的字符串,例如像这样的 0.1234。

如果您不想向上取整,而是总是向下取整,请使用 .floor.down:

let foo = 0.123456789
let formatter = NumberFormatter()
formatter.maximumFractionDigits = 4
formatter.roundingMode = .down
let string = formatter.string(from: NSNumber(value: foo))

如果您想要传统的舍入格式,只需省略 .roundingMode,这将导致 "0.1235"

有关详细信息,请参阅 NumberFormatter reference 文档。