Anregungen und Vorschläge zu PROFAN
Hier können Vorschläge für künftige PROFAN-Versionen, Ausgestaltung der PROFAN-Seiten und -Foren, etc. gemacht werden.
  Suchen
 Zurück zur Übersicht
 AutorThema: Val () und Int()
Bernhard Künzel
Datum:25.09.01 20:53 Antwortenals Email verschicken (b.kuenzel@chello.at) 


Hallo Profaner
Bitte kann mir jemand sagen, wieso ich bei der folgenden Multiplikation die Integerfunktion brauche oder ist es ein Fehler in Profan.
Declare X1$,X%
X1$="2.5;4.5"
X%=Mul(Val(SubStr$(X1$,1,";")),100)
Print X% '>Ergebnis ohne Int() 200 ist Falsch
X%=Int(Mul(Val(SubStr$(X1$,1,";")),100))
Print X% '>Ergebnis mit Int() 250 ist Richtig
Print Mul(Val(SubStr$(X1$,1,";")),100) '>Ergebnis ohne Int() 250 ist Richtig

MFG
Bernhard



Sven Schmidts
Datum:26.09.01 11:30 Antwortenals Email verschicken (schmidts@flat2serv.de) 


Ist ein "Handbook-not-read-error" :) Eine Integer Variable kann keine Nachkommastellen aufnehmen, dafür brauchst Du den Typ Float. Ersetze in Deinem Testprogramm mal X% gegen X! und Du wirst sehen ...

Mfg.
Sven Schmidts


Jörg Sellmeyer
Datum:26.09.01 12:40 Antwortenals Email verschicken (joerse@gmx.de) 


Hallo,
Das ist zwar eine schöne Formulierung für einen solchen Fehler,
aber eigentlich nicht zutreffend.
In dieser Zeile:
X%=Mul(Val(SubStr$(X1$,1,";")),100)
wird x% ja kein Float sonder der Integer 250 zugewiesen.
Aber anscheinend hat Profan bei der Rechenaufgabe Schwierigkeiten,
wenn der Wert ohne Weiteres einer Integervariablen zugewiesen wird.
Zum Glück gibt es ja mit Int() genau die Funktion, die das erledigt.
Ansonsten finde ich das auch sehr merkwürdig.
Gruß
Jörg


Bernhard Künzel
Datum: 26.09.01 12:46 Antwortenals Email verschicken (b.kuenzel@chello.at) 


Hallo Sven,
das mit dem Vartyp Float ist mir schon klar, aber ich rechne ohne Variablen und dabei kommt immer eine Integerzahl heraus (es ist eine Umrechnung Zentimeter in 1/10 Millimeter) es wird auch richtig umgerechnet (siehe bei Print), ich speichere ja nur das Endresultat in die IntegerVariable und das müßte eigentlich ohne Int-Funktion automatisch funktionieren.
Es müßte auch bei Nackommastellen funktionieren, da müßte dann der ganzzahlige Wert in die Integervariable eingetragen werden. Was eigentlich logisch währe.
Bei GFA-Basic funktioniert es auch so.

MFG
Bernhard



 Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
Shortwin - denn Glück ist kein Zufall!