Arithemetischer Überlauf

Rene42

Erfahrenes Mitglied
Hi Leute,

manchmal verursacht folgender Quelltext einen arithemetischen Überlauf.

Code:
Ort.X += Int(v * R.x)

R.x: ist ein double Ausdruck im Beispiel -0.93
v: ist integer und im Beispiel 5
Ort: ist vom Typ Point mit (x=460;y=963)

Ich kann nicht sehen warum das einen Überlauf verursacht?

Gruß Rene
 
Hallo Rene,

mit den mit den von dir genanten Zahlenwerten sollte es keinen Überlauf geben. In der MSDN steht allerdings, dass bei Verwendung der Funktion Int() implizite Konvertierungen von double nach int das Ausschalten der Option "Strict" erfordern. Kontrolliere mal diese Option oder verwende stattdessen die Funktion CInt().

Gruß
MCoder
 

Neue Beiträge

Zurück