Seite 1 von 1

CDec bei Linux

Verfasst: So, 20.11.2011 22:58
von erikafuchs
Hallo zusammen,
gibt es hier Linux Nutzer?
Ich versuche mein Rechenprogramm z.Z. auch auf Mac und Linux zum Laufen zu bringen. Dass CDec auf beiden nicht funktioniert habe ich jetzt ja schon rausbekommen. Unter Linux bekomme ich aber auch dei val eine Fehlermeldung. Was mache ich jetzt? Es muss doch eine einfache Möglichkeit geben, eine String Variable in eine numerische Variable umzuwandeln. CDec war für mich am Besten, mit var habe ich hin und wieder Fehlermeldungen bekommen.
Viele Grüße
Pit

Re: CDec und var bei Linux

Verfasst: Mo, 21.11.2011 08:46
von komma4
erikafuchs hat geschrieben:gibt es hier Linux Nutzer?
Aber sicher doch

erikafuchs hat geschrieben:Es muss doch eine einfache Möglichkeit geben, eine String Variable in eine numerische Variable umzuwandeln.
Eine Variable hat einen bestimmten Typ. Diesen kannst Du nicht ändern.
Nutze die Laufzeitfunktionen, wie CDbl, CInt usw. zum Konvertieren des Inhalts einer Variablen
erikafuchs hat geschrieben: CDec war für mich am Besten
Was immer das ist...

Re: CDec bei Linux

Verfasst: Mo, 21.11.2011 09:38
von erikafuchs
Lieber Winfried,
das Problem mit var(String) hat sich zum Glück erledigt - da habe ich mich vertippt (klar mus val(string) heißen und nicht var(string) - zu blöd!). Das Problem mit cDec(String) habe ich allerdings noch nicht gelöst. CDec(String) wandelt den Inhalt einer String Variablen in eine Dezimalzahl um, CDbl erstellt eine Zahl in Exponentialdarstellung. Dies führte in meinem Programm immer wieder zu Problemen, die ich bei CDec nicht habe. Leider gibt es diese Funktion aber nicht unter Linux und Mac. Jetzt habe ich z.B. die Angabe "0.1E-4" statt "0,0001" oder sogar "0.9999E-5". Das Programm berechnet ein Ergebnis als Exponentialzahl, die Schüler geben aber eine Dezimalzahl ein, das führt manchmal zu einer Fehlermeldung. Die Zeile

Code: Alles auswählen

if CDec(Eingabe)=CDec(Ergebnis) then "richtig"
funktioniert zur Zeit immer,

Code: Alles auswählen

if val(Eingabe)=val(Ergebnis) then "richtig"
funktioniert meistens - aber nicht immer. Soviel zur Erklärung. Aber ich sehe schon, dass ich meine verschiedenen Aufgabentypen halt einzeln unter die Lupe nehmen und jeder Sorte eine individuelle Programmzeile schreiben muss.
trotzdem Vielen Dank und Viele Grüße
Pit