Hier ist mein Code:NumberFormatter() nicht zwingen Nachkommastelle
extension NSDecimalNumber {
func getFormattedDecimalString() -> String {
let numberFormatter = NumberFormatter()
numberFormatter.minimumFractionDigits = 2
numberFormatter.maximumFractionDigits = 2
numberFormatter.numberStyle = NumberFormatter.Style.decimal
if let decimalString = numberFormatter.string(from: self) {
return decimalString
} else {
return ""
}
}
}
Wenn ich die Nummer 4.11 haben, es zeigt, 4.11. Wenn ich die Nummer 4.1 habe, zeigt es 4.1. Wenn ich die Nummer 4 habe, wird 4. angezeigt. Ich möchte, dass 4.11, 4.10 und 4.00 angezeigt werden. Ich dachte, das ist, was minimumFractionDigits war. Ich habe auch versucht, die Zeile numberFormatter.alwaysShowsDecimalSeparator = true
hinzuzufügen, und das tut nichts.
Kann nicht reproduzieren. Können Sie ein [mcve] bereitstellen, das das Problem demonstriert? –
In numberFormatter.string (von: self) was selbst anzeigt, weil Ihr Problem nicht reproduzieren kann. es funktioniert gut für mich – AkBombe
@AkBombe Es ist eine Erweiterung von NSDecimalNumber (Ich habe meinen Beitrag bearbeitet). Ich habe es in eine normale Funktion gestellt und es hat funktioniert, aber das funktioniert nicht. Ich bekomme die NSDecimalNumber aus den Kerndaten. – Questioner