CDec bei Linux

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

CDec bei Linux

Beitrag 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
Zuletzt geändert von erikafuchs am Mo, 21.11.2011 09:19, insgesamt 2-mal geändert.
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: CDec und var bei Linux

Beitrag 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...
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
erikafuchs
******
Beiträge: 690
Registriert: Di, 13.02.2007 17:38
Wohnort: Büttelborn

Re: CDec bei Linux

Beitrag 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
Antworten