QDom von Typ float
-
Hi,
Ich habe Daten aus einer Datenbank die ich auf XML Datei mit qdom schreiben will.Meiner Daten sind von Typ float.unterstützt qt float ?
Wieso geht so eine Konvertierung nicht?double zahl = 0.004;
QDomDocument doc;QDomText quoteNumber = doc.createTextNode(zahl.totext());
grüß
-
Geht nicht weil float keine totext() Methode hat.
-
Wie sieht die funktion float to char aus denn?
Kennt jemand eine fertige funktion?
-
// brauchste <sstream> dafür std::ostringstream ostr; ostr << zahl; std::string stl_string = ostr.str(); char const * c_style_string = ostr.str().c_str();
-
Unter Qt macht man auch gerne:
QString::number(zahl);
-
Ponto schrieb:
Unter Qt macht man auch gerne:
QString::number(zahl);
Das ist sehr praktisch.
Ich brauche aber einen Converter nach char und nicht nach string.
Wie es aussieht gilt dies für char nicht.oder?
-
So wie ich das sehe nimmt createTextNode einen QString und keinen char const *. Oder war das für eine andere Methode?
Da hilft vielleicht:
QString::number(zahl).latin1()
-
Ponto schrieb:
So wie ich das sehe nimmt createTextNode einen QString und keinen char const *. Oder war das für eine andere Methode?
createTextNode nimmt schon einen QString als Parameter, allerdings hat QString nen impliziten "char const *" Konstruktor und daher geht beides.
-
Ponto schrieb:
So wie ich das sehe nimmt createTextNode einen QString und keinen char const *. Oder war das für eine andere Methode?
Da hast du recht und QString::number(zahl) hat mich viel geholfen.Danke dir.
Aus der Datenbank habe ich zahlen die so aussehen : 2.000 oder 0.400 die will ich wegen Programmanforderung als <tag>2.0</tag> bzw 0.4 (2. ist auch ok) 2.000 und 0.400 ist auch nicht schlecht. QString::number(zahl) gibt für 2.000 <tag>2</tag> aus.
Hast du einen Vorschlag wie ich das machen kann ?Ein Wünsch wäre auch das ich die Wahl habe die Tag nebeneinanderzustellen.Also
<root>
<tag1>2.0</tag1><tag2>0.4</tag2>
</root>Hat jemand einen Vorschlag?
-
Hay schrieb:
die will ich wegen Programmanforderung als <tag>2.0</tag> bzw 0.4 (2. ist auch ok) 2.000 und 0.400 ist auch nicht schlecht. QString::number(zahl) gibt für 2.000 <tag>2</tag> aus.
Hast du einen Vorschlag wie ich das machen kann ?setNum(float n, char f = 'f', int prec = 5) ermöglicht dies
QString zString = xString.setNum(xyz[2],'f',5 );
QDomText xText = doc.createTextNode(xString);Ich weiss aber immer nicht wie es mit
<root>
<tag1>2.0</tag1><tag2>0.4</tag2>
</root>vorgegangen soll.
-
Genauer
<root>
<node><tag1>2.0</tag1><tag2>0.4</tag2></node>
</root>
-
-
Ponto schrieb:
Das hat ich auch benutzt, bleibt aber dass die Tag nebeneinander sein sollen. Ich habe QDomElement benutzt als ich die Tag definiert habe, weiss nicht ob ich QDomNode benutzen soll oder nicht?