Qt - benutzerdefinierte Dezimalpunkt und Tausendertrennzeichen
Wie konvertiere ich eine Zahl (double) in einen string mit benutzerdefinierte Dezimalpunkt und Tausendertrennzeichen chars?
Ich habe gesehen, QLocale, aber ich will nicht zu wählen, ist die Lokalisierung Land, sondern geben meine eigenen Dezimaltrennzeichen und Tausendertrennzeichen chars.
Dank
Ich kann mir nicht helfen, aber Fragen - warum ist es notwendig, verwenden Sie benutzerdefinierte Trennzeichen? Sind Sie Parsen eine Liste und gezwungen, zu verwenden Dezimalzahlen (oder Perioden) Trennzeichen?
Da es die Mathe app-client will Optionen, um festzulegen, benutzerdefinierte Dezimalpunkt und Tausendertrennzeichen chars. Warum diese irrelevanten Fragen...
Da es die Mathe app-client will Optionen, um festzulegen, benutzerdefinierte Dezimalpunkt und Tausendertrennzeichen chars. Warum diese irrelevanten Fragen...
InformationsquelleAutor Stari As | 2011-02-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Qt nicht unterstützt benutzerdefinierte Gebietsschema. Aber um mit nur Gruppen-und Komma-Zeichen ist trivial:
BTW, spbots' Frage ist nicht irrelevant. Weitere Details über das Ziel hilft immer, und es konnte führen zu einem unterschiedlichen Ansatz, dass kann Sie besser dienen.
InformationsquelleAutor Stephen Chu
Hier ist, wie Sie es tun, nur mit der std::lib (kein QT). Definieren Sie Ihre eigenen numpunct-abgeleitete Klasse, die angeben können, Dezimaltrennzeichen, die Gruppierung der Zeichen, und sogar der Abstand zwischen den Gruppierungen. Ich bin ein ostringstream mit einem Gebietsschema mit Ihrem Facette. Setzen Sie das Kennzeichen auf, dass ostringstream wie gewünscht. Ausgabe in es und Holen Sie sich den string aus.
1.234.567.89,12
std::basic_stringstream<wchar_t>
,std::numpunct<wchar_t>
undstd::wstring_convert<std::codecvt_utf8_utf16<wchar_t>, wchar_t>
. Live Beispiel hier.InformationsquelleAutor Howard Hinnant
für qml-Benutzer:
Die Antwort ist vollkommen angemessen für mich, wie es ist. Danke!!!
InformationsquelleAutor Hamed Nikzad
Da Sie nicht wollen, QLocale vielleicht könnten Sie tun, eine einfache Umrechnung (mit QString::number, zum Beispiel) und dann ersetzen Sie die gewünschten Zeichen danach.
InformationsquelleAutor Leandro T. C. Melo
ziemlich schrecklich, aber bekam den job zu erledigen
InformationsquelleAutor Tom
Der einfachste Weg ist die Verwendung von arg QString.
InformationsquelleAutor Ahad aghapour