Tut Dart haben sprintf, oder ist es nur interpolation?
Ich möchte zu emulieren, C sprintf("%02d", x);
im Dart, aber ich kann nichts finden string-Formatierung, nur string-interpolation.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich möchte zu emulieren, C sprintf("%02d", x);
im Dart, aber ich kann nichts finden string-Formatierung, nur string-interpolation.
Du musst angemeldet sein, um einen Kommentar abzugeben.
String-interpolation deckt die meisten Ihrer Bedürfnisse. Wenn Sie möchten, formatieren Sie zahlen direkt, es ist auch
num.toStringAsPrecision()
.sprintf("%02x", 0x0f)
.Den intl-Bibliothek bietet mehrere Helfer-format Werte.
Finden Sie in der API-Dokumentation unter http://api.dartlang.org/docs/releases/latest/intl.html
Hier ist ein Beispiel, wie konvertieren eine Zahl in eine zwei-Zeichen-string:
Einen String.format Methode, die derzeit nicht existiert, aber es ist ein bug/feature-request für hinzufügen.
Ich nahm einen anderen Ansatz, um dieses Problem: durch die Polsterung den string direkt, ich habe nicht zu verwenden Bibliotheken (vor allem, weil die intl-Bibliothek zu sein scheint, eingestellt):
Wäre das äquivalent zu sprintf("%02d", x);
Hier ist meine Implementierung von String.format für Dart. Es ist nicht perfekt, aber Sie funktioniert gut genug für mich:
Test-Ausgabe folgt:
Ja, Dart ist ein sprintf-Paket:
https://pub.dev/packages/sprintf.
Es ist nach dem Vorbild der C ' s sprintf.