Ich beginne gerade, Swift zu kennen, aber ich habe ein ernstes Problem mit der Formatierung von Zahlen auf einer sehr einfachen Ebene.
Zum Beispiel muss ich eine Ganzzahl mit mindestens 2 Ziffern anzeigen (z. B. 00, 01, 02, 03, 04, 05 ...). Die normale Syntax, die ich erwarten würde, wäre etwa:
println ("% 02i% 02i% 02i", var1, var2, var3);
... aber ich finde keine klare Anleitung, wie man dies in Swift erreicht. Ich finde es wirklich schwer zu glauben, dass ich dafür eine benutzerdefinierte Funktion erstellen muss. Das Gleiche gilt für die Rückgabe eines Float- oder Double-Werts an eine feste Anzahl von Dezimalstellen.
Ich habe Links zu einigen ähnlichen Fragen gefunden ( Precision String Format Specifier In Swift und Wie println in Swift zu verwenden ist Format-Nummer ), aber sie scheinen Objektiv C zu mischen und sogar über Python zu sprechen und Unity-Bibliotheken zu verwenden. Gibt es keine schnelle Lösung für dieses grundlegende Programmierbedürfnis? Ist es wirklich wahr, dass etwas so fundamentales in Swift komplett übersehen wurde?
Mit diesem Konstruktor können Sie eine Zeichenfolge mit einer C-ähnlichen Formatierung erstellen:
%Vor%Beispielverwendung:
%Vor%Wenn Sie es viel verwenden und eine kompaktere Form wünschen, können Sie eine Erweiterung wie folgt implementieren:
%Vor%vereinfacht die Verwendung wie in diesem Beispiel:
%Vor%Es gibt eine einfache Lösung, die ich mit "We & lt; 3 Swift" gelernt habe, die so einfach ist, dass Sie sogar ohne Foundation, round () oder Strings, den numerischen Wert behalten können.
Beispiel:
%Vor%Ergebnis: 31.726
Sie können immer noch gut ole NSLog ("%. 2f", myFloatOrDouble) verwenden: D
Tags und Links swift numbers formatting