Seite 1 von 1
gelöst: Exponentialdarstellung verhindern
Verfasst: Mo, 30.01.2012 21:32
von erikafuchs
Hallo zusammen:
Kennt ihr das:
Code: Alles auswählen
Sub Main
dim Z, N as integer
Z=3
N=50
print Z & " " & N & " " & (Z/N)
Z=3
N=20
print Z & " " & N & " " & (Z/N)
End Sub
...wenn die erste Stelle hinter dem Komma eine Null ist, wird der Quotient in Exponentialdarstellung ausgegeben, sonst nicht. Wie kann ich die Exponentialdarstellung verhindern. Vorher habe ich das mit CDec gemacht, das geht aber mit Linux nicht!
Hilfe!
Danke für eure Hilfe
Pit
Re: Exponentialdarstellung verhindern
Verfasst: Mo, 30.01.2012 22:15
von bst
Re: Exponentialdarstellung verhindern
Verfasst: Mo, 30.01.2012 22:29
von erikafuchs
Lieber Bernd,
vielen Dank erstmal. Leider funktioniert das nicht wie ich es brauche. Meine Zahlen werden mit Zufallszahlen erzeugt. Das Ergebnis sind mal ganze Zahlen, mal Zahlen mit einer unterschiedlichen Anzahl Dezimalstellen. Ein Beispiel, meine Schüler müssen Brüche in Kommazahlen umwandeln. Die Vorgabe (erfolgt wie gesagt mit Zufallszahlen) das Ergebnis kann dann 3/10=0,3; 23/100=0,23; 1/8=0,125; oder auch 4/2=2 sein. Bei der Aufgabe 3/50 wird jetzt halt die Eingabe 6E-02 statt 0,06 erwartet.
Viele Grüße
Pit
Re: Exponentialdarstellung verhindern
Verfasst: Di, 31.01.2012 01:12
von Karolus
Hallo
Der Vergleich (in Calc ) 6e-02=0,06 ergibt WAHR, also so wie dus möchtest.
Karo
Re: Exponentialdarstellung verhindern
Verfasst: Di, 31.01.2012 06:34
von erikafuchs
Da meine Schüler aber auch z.B. Einheiten eingeben müssen, ist die entsprechende Variable eine Stringvariable und da bekomme ich die Umwandlung nicht hin, das ging mit CDec, aber nicht mit val:
Code: Alles auswählen
Sub Main
dim Z, N as integer
dim e as string
Z=3
N=50
e = "0,6"
if Z/N = val(e) then
print "richtig"
else
print "falsch: " & Z/N & " = " & e
end if
end sub
Grüße
Pit
Re: Exponentialdarstellung verhindern
Verfasst: Di, 31.01.2012 07:44
von Karolus
Hallo
Lieber Pit
0,6 ist
nicht das Ergebnis der Division 3 / 50 sondern vmtl. 0,06
Zudem musst du innerhalb Basic wohl oder übel den Dezimal
punkt verwenden, dann klappt auch die Umwandlung mit
val( )
Karo
Re: Exponentialdarstellung verhindern
Verfasst: Di, 31.01.2012 16:03
von erikafuchs
Lieber Karo,
vielen Dank soweit. Die Null ist heute morgen um halb Sieben wohl verlorengegangen. Das mit der Null ist zwar ein Problem, hilft mir aber weiter. Mit dem Befehl CDec wird nur das Komma als richtig gewertet, mit val muss man dann wohl ein Punkt setzen. Das kann ich meinen Schülern so aber nicht beibringen. Das heißt, wenn niemand eine bessere Idee hat muss ich in den Eingaben der Schüler das Komma durch einen Punkt ersetzen und dann erst vergleichen. ... Hat jemand eine Idee warum CDec nur unter Windows funktioniert? ...
Grüße von
Pit
Re: Exponentialdarstellung verhindern
Verfasst: Di, 31.01.2012 16:50
von erikafuchs
So, ich nochmal,
ich habe jetzt rumprobiert. Bernds Lösung schein am einfachsten zu funktionieren, man muss nur die Formatanweisung so ändern, dass die erste Stelle hinterm Komma nicht Null sondern # ist, dann werden auch ganze Zahlen als solche angezeigt. Dank euch Allen!
Grüße
Pit
PS.: Allerdings war CDec einfacher