Import von Decimalwerten, Nachkommastellen

6. März 2012 13:25

Hallo,
ich bekomme XML Dateien mit Decimalwerten. Diese sollen eingelesen werden - die Werte sind wie folgt aufgebaut:

199.00 -> 199,00 in deutscher Anzeige
0.25 -> 0,25 in deutscher Anzeige

Das gleiche Thema hatte ich einmal für das exportieren - siehe dieser Uraltthread: viewtopic.php?f=36&t=10402


Irgendwie habe ich jedoch bei dem Import mehr Probleme.
Gibt es eine Möglichkeit via Code, dass ich herrausfinde wie in dem aktuellen Land die Dezimaltrenner sind?

Oder hat jemand eine elegante Lösung wie ich - egal für welches Land - aus 0.25 eine 0 mit der Nachkommastelle 25 mache?

Danke für eure Hilfe!

Re: Import von Decimalwerten, Nachkommastellen

20. März 2012 13:29

so könnte es funktionieren:
Code:
EVALUATE(decimal, CONVERTSTR('0.25', '.', ','));

Re: Import von Decimalwerten, Nachkommastellen

20. März 2012 14:08

Danis hat geschrieben:Gibt es eine Möglichkeit via Code, dass ich herrausfinde wie in dem aktuellen Land die Dezimaltrenner sind?

Die Ländereinstellungen von dem System auf dem NAV-Client momentan läuft?
z.b. Decimal-Variable 1234.56 zuweisen und über FORMAT diese in Text umwandeln und dann prüfen, was für Dezimal- und Tausendertrennzeichen in der Textdarstellung stehen.
ergibt
DE: 1.234,56
CH: 1'234.56
US: 1,234.56
Vom eigentlichen Land selbst, in dem der Client läuft, sollte man das nicht abhängig machen, ich hatte schon einen "lustigen" Fall wo ausnahmsweise in DE mit einem "englischen" Notebook an einem "deutschen" System Daten importiert wurden :shock:.

Re: Import von Decimalwerten, Nachkommastellen

30. Mai 2012 20:48

Kowa hat geschrieben:z.B. Decimal-Variable 1234.56 zuweisen und über FORMAT diese in Text umwandeln und dann prüfen […]

Noch schneller geht es so:
Code:
DecimalSeparators := DELCHR(FORMAT(1000.1),'=','01');

An erster Stelle in DecimalSeparators steht dann der 1000er-Trenner, an der zweiten der Dezimaltrenner.