Schnelle Zahlenformatierung

8

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?

    
user3535074 02.10.2014, 18:45
quelle

4 Antworten

11

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%     
Antonio 02.10.2014, 18:54
quelle
1

Hier ist eine POP-Lösung für das Problem:

%Vor%     
RM34545 21.09.2016 13:34
quelle
1

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

    
Paula Hasstenteufel 28.10.2016 17:41
quelle
0

Sie können immer noch gut ole NSLog ("%. 2f", myFloatOrDouble) verwenden: D

    
CommaToast 02.06.2016 02:32
quelle

Tags und Links