I'm using something similar to this in an asp page, why would it be spitting out 29 instead of 30? :/
This exact equation produces 29 for me - no variables:
int(((2.3 - 2)*100))
jomaxx
4:34 am on Jul 15, 2003 (gmt 0)
In some cases, floating point arithmetic will represent the result as something like 29.999999 instead of precisely 30. Then when you do the int() function, it truncates it to 29.
If this is your problem, the solution is to add a bit before truncating - either 0.5, if that accuracy is satisfactory, or else a tiny amount that should be transparent to any user, such as .000002.