CSV Datei UTF 8 kompatibel
-
Hallo da draussen,
ich schreibe aus einem vektor eine double zahl (1.5) in ein csv Datei , soweit so gut ...
wenn ich nun im Excel diese datei öffne werden alle komma zahlen nicht mehr in 1.5 sonder als 1500 angezeigtWie kann ich das bitte korigieren ?
-
In dem Du 1,5 schreibst. Oder Excel beim Import angibst, dass die Zahlen eben anders formatiert sind. IMHO kann man für jede Spalte in Excel definieren wie man die behandeln soll.
Stichworte für die Suche: setlocale, std::locale und auch ios::imbue...
-
Naja in meiner Variable double steht das halt mit punkt drin ,und das auseinander schnipseln und mit , ersetzen finde ich etwas mühselig
das andere schau ich gleich mal
-
In Deinem double steht gar nichts mit Punkt drin. Das ist ein double und kein String.
Du hast nicht gelesen was ich geschrieben habe.
-
ich versteh nicht ganz in meiner variablen double steht ein wert drin z.b. 1,5 durch irgend eine rechnung...
wenn ich das in ein txt file schreibe steht in diesem auch der wert 1.5 wenn ich dann die dateiendung in .csv ändere und die datei mit excel öffne steht hier 1500 weil er wohl diesen . als 1000 trennung interpretiert ...wieso habe ich dein komi nicht gelesen ?
bzw wie kann ich meiner funktion fprintf() sagen schreibe 1,5 statt 1.5 ?
-
Alf85 schrieb:
ich versteh nicht ganz in meiner variablen double steht ein wert drin z.b. 1,5 durch irgend eine rechnung...
Nein! Da steht der double drin. Und eben kein String. Die Dratselung in Deinem Debugger, die wieder Dine locale verwendet, die macht daraus 1.5 oder 1,5!
wenn ich das in ein txt file schreibe steht in diesem auch der wert 1.5 wenn ich dann die dateiendung in .csv ändere und die datei mit excel öffne steht hier 1500 weil er wohl diesen . als 1000 trennung interpretiert ...
wieso habe ich dein komi nicht gelesen ?
bzw wie kann ich meiner funktion fprintf() sagen schreibe 1,5 statt 1.5 ?Du hast nicht gelesen und eben NICHT danach geschaut.
Stichworte für die Suche: setlocale, std::locale und auch ios::imbue...Wir ein String in printf ausgegeben wird richtet sich eben nach der locale.
Und auch Dein Excel richtet sich nach Deiner lokalen PC locale. Stell Dein System auf ein anderes Zahlensystem ein und schon geht es...
Wer liest gewinnt
-
ahhhh glaube jetzt versteh ich was du meinst !!!
Habe mit dem local verständnisprobleme
das locale habe ich gegoogelt habe ich das richtig verstanden das ich da einstellen kann z.B. für mien Visual Studio ob es "." oder "," macht und das dann auch in die datei schreibt ?
-
Nein. Du kannst es nicht für VS einstellen aber Du kannst es für Dein Programm einstellen.
Bitte lies! Stichworte hast Du genug!