2016-12-20 4 views
2

Ich suchte String-Klassen und einige andere Ressourcen, um zu sehen, wie Zeichenfolgen formatiert werden. In erster Linie versuche ich eine Zahl auf eine Zeichenkette zu setzen, aber nicht auf Genauigkeit.String-Formatierung in Dart

Beispiel:

int a = 0, b = 5, c = 15, d = 46; 
String aout = "", bout = "", cout="", dout=""; 

//aout = "00" 
//bout = "05" 
//cout = "15" 
//dout = "46" 

Als ich in int zu festen String Präzision suchen, ist es meistens war, wenn sie mit Dezimalzahlen zu tun und nicht vorangestellt Polsterung.

Mein ursprünglicher Gedanke ist, dass ich etwas zu sprintf im Zusammenhang tun könnte, wie zum Beispiel:

String out = sprintf("%02d", a); 

aber das scheint nicht zu arbeiten, vor allem, weil es sagt, dass ich eine nosuchmethod Störung erhalten. Ich war mir nicht sicher, ob sprintf in einem anderen Paket als Core ist, da ich dachte, dass dies direkt mit Strings zusammenhängt.

Antwort

6

Es gibt eine String.padLeft Methode, die Sie verwenden können:

String out = a.toString().padLeft(2, '0'); 
+1

Wunderbar. Es ist besser als das, was ich tun würde: 'String out = (a <10)?" 0 $ a ": a;' – Fallenreaper