使用Swift 3,NumberFormatter
具有一个名为minimumFractionDigits
的实例属性。 minimumFractionDigits
具有以下声明:
var minimumFractionDigits: Int { get set }
数字允许作为输入和输出由接收器中的小数点后的最小数目。
NumberFormatter
也有称为maximumFractionDigits
实例属性。 maximumFractionDigits
具有以下声明:
var maximumFractionDigits: Int { get set }
数字允许作为输入和输出由接收器中的小数点后的最大数目。
下面的游乐场代码显示了如何使用NumberFormatter
当以小数点分隔符后设置的位数使用minimumFractionDigits
和maximumFractionDigits
:
import Foundation
let percentFormatter = NumberFormatter()
percentFormatter.numberStyle = NumberFormatter.Style.percent
percentFormatter.multiplier = 1
percentFormatter.minimumFractionDigits = 1
percentFormatter.maximumFractionDigits = 2
let myDouble1: Double = 8
let myString1 = percentFormatter.string(for: myDouble1)
//let myString1 = percentFormatter.string(from: NSNumber(value: myDouble1)) // also works
print(String(describing: myString1)) // Optional("8.0%")
let myDouble2 = 8.5
let myString2 = percentFormatter.string(for: myDouble2)
print(String(describing: myString2)) // Optional("8.5%")
let myDouble3 = 8.5786
let myString3 = percentFormatter.string(for: myDouble3)
print(String(describing: myString3)) // Optional("8.58%")
和一个可容纳2位小数,将'percentFormatter.maximumFractionDigits'设置为'2'。 '8.5'将显示为'8.5',但'8.534'将显示为'8.53'。 –