Seite 1 von 1
Re: Ein Bug in der Variablen 'Single'?
Verfasst: Sa, 19.05.2012 14:58
von Karolus
Hallo
Hier deklarierst du nur R explizit als Single, S wird bei der Zuweisung des Werts 8.65 implizit zu Double - damit "reicht" die Genauigkeit als binärer Wert.
Ps. Warum deklarierst du erst explizit
nur als Single wenn dir hinterher die Genauigkeit nicht ausreicht.
Karo
Re: Ein Bug in der Variablen 'Single'?
Verfasst: Sa, 19.05.2012 15:03
von theindless
Hallo,
das Problem kenne ich nicht, aber ein Hinweis von mir:
Damit deklarierst du S NICHT als Single, sondern als Variant.
Oh... Karo war schneller
theindless
Re: Ein Bug in der Variablen 'Single'?
Verfasst: Sa, 19.05.2012 16:30
von gogo
Was Du da in der Msgbox siehst ist kein Single-Wert, weil das Ergebnis von S*1 zu einem Double-Wert wird. (Durch die Multiplikation mit der 1 (die wenn sie so dasteht als Integerwert gilt))
Versuch' mal das:
Code: Alles auswählen
Sub Test2
Dim S As Single
S = 8.65
S=S * 1
MsgBox S
End Sub
... und schon steht 8,65 in der Box...
Wenn Du explizit eine Rechnung mit der Single-Genauigkeit brauchst, dann sollten aber alle verwendeten Teile auch als Single deklariert sein - um Fehler zu vermeiden daher ggf. auch die 1! ... und natürlich das Ergebnis

Re: Ein Bug in der Variablen 'Single'?
Verfasst: Sa, 19.05.2012 22:40
von theindless
Hallo,
Das heißt demnach, daß
Code: Alles auswählen
Dim S, R As Single
'ungleich
Dim S As Single
Dim R As Single
ist?
Genau richtig!
Allerdings könntest du statt
auch
schreiben
theindless