Con Swift 3, NumberFormatter
ha una proprietà di istanza denominata minimumFractionDigits
. minimumFractionDigits
ha la seguente dichiarazione:
var minimumFractionDigits: Int { get set }
Il numero minimo di cifre dopo il separatore decimale ammesso come ingresso e uscita dal ricevitore.
NumberFormatter
ha anche una proprietà di istanza denominata maximumFractionDigits
. maximumFractionDigits
ha la seguente dichiarazione:
var maximumFractionDigits: Int { get set }
Il numero massimo di cifre dopo il separatore decimale ammesso come ingresso e uscita dal ricevitore.
Il seguente codice di giochi mostra come utilizzare minimumFractionDigits
e maximumFractionDigits
al fine di impostare il numero di cifre dopo il separatore decimale quando si utilizza NumberFormatter
:
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%")
fonte
2016-12-20 13:10:04
e fino a 2 cifre decimali, imposta 'percentFormatter.maximumFractionDigits' su' 2'. '8.5' verrà visualizzato come' 8.5', ma '8.534' verrà visualizzato come' 8.53'. –