Floating Math Problem

BlitzMax Forums/BlitzMax Programming/Floating Math Problem

I got confused when I found a bug which I just don't understand. Can someone explain the strange result I get when running this:
Graphics 800,600,32,75

A% = 100

Timer = MilliSecs() + 15

While Timer > MilliSecs() 

	A:-100*0.05
	A:+100*0.05
	Print A

Wend

I guess it has something to do with rounding up the decimals, but why on earth does it only apply it I use Graphics mode? Because if you comment out Graphics it returns A=100 all the way. I hope you get the same result as me, cause I get A =100 and then it decreases each loop until A=5.