was mach ich gegen so ein variablen-Problem??

Posted By: Revo

was mach ich gegen so ein variablen-Problem?? - 05/26/09 16:43

Also zur Zeit sitze ich an einer kleiner 3-dimensionalen Visualisierung meiner Joggingstrecken und nun habe ich folgendes Problem:
ich lese die GPS- udn Höhendaten aus einer .txt Datei die (ungefähr) folgendes Format aufweist (jede Zeile ist ein aufgezeichneter Streckenpunkt):
"gelaufene_Zeit;gelaufeneStrecke_in_km;Geschwindigkeit_in_km/h;Koordinate_x;Koordinate_y;Koordinate_z;"
Bsp.:
"00:00:18;0.0321691626882765;15.7412;51.2711625666667;12.3711439;168.1;"

Die auslesefunction zu coden war auch nicht schwer, nur leider sind diese Koordinaten (x und y) in Breitengraden angegeben und mit ihren Nachkommastellen viel zu groß für eine "GS-var".
Nur wenn ich mittels file_str_read() jeweils den Wert rauslese und ihn dann mit str_to_num() in eine Zahl umwandele bekomme ich immer irgendwie gleich eine (komisch gerundete) var, mit der ich leider gar nix anfangen kann...

Die .txt-Datei kann ich leider auch nicht selber formatieren weil das mein gps-Prog von sich aus so macht.

Hätte da jemand eine Idee wie ich die Werte aus der Datei anders in einen Array bekomme (mit Nachkommastellen^^)?
thx für alle hilreichen posts smile


(Nachtrag: hmm ich habe mir überlegt das es wohl wirklich wenn dann daran liegt das str_to_num nur ein var zurückliefert... - also müsste ich mir eine str_to_float oder so selberproggen frown -> ich würde aber auch gerne einen var-array benutzen - nur dann müsste ich einen weg finden die Koordinaten irgendwie in die vars zu bekommen (z.B. mal 1000 multipliziert oder so ^^), bzw. gleich auf die verhältnissmäsigen grenzen von 0 bis 1000 umgewandelt ...)

Posted By: zSteam

Re: was mach ich gegen so ein variablen-Problem?? - 05/26/09 20:30

hi,

warum verwendest du nicht einfach float anstatt var als variablentyp?
Posted By: Revo

Re: was mach ich gegen so ein variablen-Problem?? - 05/26/09 21:18

also mein Datenarray ist ja ein float-array.
aber trotzdem haben die Werte immer nur 3 nachkommastellen - was mich einfach vermuten lässt, dass str_to_num() nur einen var-typ zurück liefern kann - was also auch mein Ergebniss erklärt...
Posted By: JM89

Re: was mach ich gegen so ein variablen-Problem?? - 05/27/09 11:18

Originally Posted By: Revo
also mein Datenarray ist ja ein float-array.
aber trotzdem haben die Werte immer nur 3 nachkommastellen - was mich einfach vermuten lässt, str_to_num() nur einen var-typ zurück liefern kann - was also auch mein Ergebniss erklärt...

confused

Also ich bekomme mehr als 3 Nachkommastellen, wenn ich str_to_num() benutze. Allerdings sind die Werte (sehr) ungenau. An deiner Stelle würde ich mir eine eigene Funktion basteln. Hätte da schon ne grobe Idee, wie das funktionieren könnte, müsste es aber erstmal testen (wenn du es denn möchtest).

Gruß.

JM
Posted By: Revo

Re: was mach ich gegen so ein variablen-Problem?? - 05/27/09 11:31

das wäre natürlich genial (ich hab mir heute auch schon den ganzen tag darüber gedanken gemacht und denke das es irgendwie gehen würde wenn man die Stelle des Punktes als marker für die anzahl an zehnerpotenzen nimmt und dann jede Zahl einzeln aneinander addiert)
Alternativ müsste ich mir eine kleine Java/delphi/..-anwendung schreiben, die die Werte ausliest, in meinen Zielvariablenraum (von 0-1000) umwandelt und in eine neue Datei speichert ... - aber wäre schon cooler, wenn dass das Script selber könnte smile
Posted By: atari98

Re: was mach ich gegen so ein variablen-Problem?? - 05/27/09 11:42

Äh.....
Kannst du die Variable groß noch mal reinschreiben.Finde sie nicht und weis darum nicht was dein Problem ist und welcher Fehler sich darin verbirgt
Posted By: Revo

Re: was mach ich gegen so ein variablen-Problem?? - 05/27/09 12:08

also mit groß meinte ich die breite des strings (sozusagen)

51.2711625666667 ist z.B ein string den ich gerne in einen float umwandeln würde ... str_to_num liefert mir da irgendwas .. nur nicht eine Zahl mit genau diesen Nachkommastellen (und ja, ich ahbe auch schon mehrere Anzeigewege ausprobiert ... kann ja auch sein, das man floats in Gstudio nicht einfach so ausgeben kann .. - dazu habe ich z.B die float-Variable noch mit 10 Multipliziert .. - aber da erkenn ich keine weiteren sinnvollen nachkommastellen wink

(die SED watch-Funktion liefert mir z.B bei
Code:
testvar=str_to_num("51.2711625666667");

für testvar 51.270508)
Posted By: atari98

Re: was mach ich gegen so ein variablen-Problem?? - 05/27/09 12:17

Da kann ich dir leiser nicht weiter helfen,bin nch ein Anfänger.Hab den GS7 erst seit ein paar Wochen
Posted By: fogman

Re: was mach ich gegen so ein variablen-Problem?? - 05/27/09 14:08

http://www.opserver.de/wiki/index.php/Tips_and_Tricks

Take a look at "Scripting", maybe you can use this method.
It comes from Ullillia, I seem to recall.
Posted By: Revo

Re: was mach ich gegen so ein variablen-Problem?? - 05/27/09 14:42

Quote:
# For extreme accuracy, beyond that of even the double, use strings and do the computations using these single-digit strings. Think about the way you work out general arithmatic by hand then apply it to your script. Theoretically, you could find 21024 to exact precision in considerable time if done properly. The output is a string rather than a variable which allows for this extreme precision.


... and sth like that is what i finally have to do to achieve a correct "str_to_float()" (instead of str_to_num()), i think...
but apart from that it would be cool if str_to_num() would also give back an accurate float if you don't use a var)



Posted By: JM89

Re: was mach ich gegen so ein variablen-Problem?? - 05/28/09 07:53

Hast du es nun hinbekommen?

Meine Versuche blieben gestern ohne Erfolg...

JM
Posted By: Revo

Re: was mach ich gegen so ein variablen-Problem?? - 05/28/09 08:12

ich bin dfast fertig mit der funktion und siehe da... (http://www.conitec.net/beta/astr_to_num.htm) Gstudio hat den Befehl schon seit der 7.5 laugh
(nur steht der leider nicht im offline-Manual, nur in den Updatenews
© 2024 lite-C Forums