Hello,<br><br>Some months ago I found a bug (I think) in all Borland compilers I tried.<br><br>Consider this function :<br><br>int Bug()<br>{<br>double a;<br>int c;<br><br>a=75.0;<br>c=a*(3000.0/2500.0);<br><br>return c;<br>}<br><br>You can expect than this function returns 90, but it returns 89!<br>If you replace "c=a*(3000.0/2500.0);" for "c=a*((float)3000.0/(float)2500.0);" or for "c=a*3000.0/2500.0;" then it returns 90 correctly. Also if you declare c as float works well too. <br><br>I have tried this in TC 3.0, Borland C++ 5.02 and Builder 4. With Microsoft Visual C++ 6.0 doesn't happen. I had reported this to Borland on Feb. 25th and haven't received response yet! :-(<br><br>Can anyone try this in Builder 5?