Hallo,
ich lese eine csv Datei (Trennzeichen Semikolon) ein und Trenne den Stream mit "split" auf.
Die erste Zahl soll eine Float sein, die allerdings als 0,0625 ankommt...
1. Spalte float
2. Spalte integer
Trennzeichen ";"
Über eine Schleife mit While wird der geamte Inhalt ausgelesen:
str_Line = ds.readLine();
Line = str_Line.split(";");
Order = Line.at(0);
Ampl = Line.at(1);
SpektrumToFill.addLine(Order.toFloat(), Ampl.toInt());
In der letzten Zeile belege ich eine Klasse mit zwei Vektoren mit jeweils der ersten Spalte und der zweiten Spalte.
Die erste Spalte hat aber keine Dezimalstellen mehr (werden alle als z.b. 5.000) angezeigt.
Ich habe das Komma in der csv im Verdacht...
Muß ich den String nochmal auftrennen, oder gibt es etwas komfortableres?
[gelöst] csv mit Dezimalzahlen
-
RogerWilco
- Beiträge: 61
- Registriert: 26. November 2009 00:08
- Kontaktdaten:
[gelöst] csv mit Dezimalzahlen
Zuletzt geändert von RogerWilco am 7. Dezember 2009 21:42, insgesamt 1-mal geändert.
Re: csv mit Dezimalzahlen
Ist das Absicht, dass das ein "," als Trennzeichen ist?RogerWilco hat geschrieben:Die erste Zahl soll eine Float sein, die allerdings als 0,0625 ankommt...
Das ist bei uns das "Komma"-Zeichen zum Abtrennen der Dezimalzeichen.
Wenn dein Programm aber mit anderen Lokale läuft, hast du Probleme.
Ich glaub in USA ist das Komma das Tausendertrennzeichen, der Punkt das "Komma" für Fließkommazahlen. (Nagel mich mit USA nicht fest, da bin ich mir gar nicht sicher
Erweiter deine Tests mal dahingehend.
-
softwaremaker
- Beiträge: 149
- Registriert: 1. April 2009 19:25
jooo
franzf liegt vollkommen richtig:
DE: 1.300.200,50 EUR
US: 1,300,200.50 $
aber man verwendet ein Semikolon als Trennzeichen bei CSV: ;
DE: 1.300.200,50 EUR
US: 1,300,200.50 $
aber man verwendet ein Semikolon als Trennzeichen bei CSV: ;
-
RogerWilco
- Beiträge: 61
- Registriert: 26. November 2009 00:08
- Kontaktdaten:
Beide Trennzeichen sind möglich.
Man merkt das, wenn man Tabellen in Excel importiert.
Dort kann man den "Delimiter" ",", ";", "Tab" etc. wählen.
In meinem Fall ist das Format in dieser Form vogegeben, weil ich aus einem Meßsystem exportiere und das exportiert nunmal so...
In diesem Fall dürfte das System englisch gewesen sein.
@russkij:
Das hatte ich versucht, aber vielleicht hatte ich noch einen anderen Fehler drin?
Ich werde es nochmal testen.
Z.Zt. splitte ich einfach mit "split" weiter auf und addiere den Weet vor dem Komma zum Wert nach dem Komma...
Man merkt das, wenn man Tabellen in Excel importiert.
Dort kann man den "Delimiter" ",", ";", "Tab" etc. wählen.
In meinem Fall ist das Format in dieser Form vogegeben, weil ich aus einem Meßsystem exportiere und das exportiert nunmal so...
In diesem Fall dürfte das System englisch gewesen sein.
@russkij:
Das hatte ich versucht, aber vielleicht hatte ich noch einen anderen Fehler drin?
Ich werde es nochmal testen.
Z.Zt. splitte ich einfach mit "split" weiter auf und addiere den Weet vor dem Komma zum Wert nach dem Komma...
-
RogerWilco
- Beiträge: 61
- Registriert: 26. November 2009 00:08
- Kontaktdaten: