If (1/2) is working it's only because of some special compiler optimization. Normally if two integers are combined you get an integer. Personally, I would just use "/ 100.0" so the 100 is explicitly a float instead of casting it. And yes, that behavior is standard in virtually every modern programming language (and a major source of errors for beginning programmers in each one too).
I may only be assuming this because I had not seen any oblivious issues in game play. I will check all my scripts for / # and change to / #.0 just to be sure!
Wow....wow... thanks.
Edit:
I came back to write this as it may help other struggling pseudo-programmers.
OK, so while checking all my scripts I discovered that in SOME of my older scripts I had notes about this exact thing. So at one time long ago this issue came up for me and someone helped me and I FORGOT! (sorry about that cdcooley).
The reason I forgot I think is because I tried to commit the concept to memory but as I did not understand the logic of the it, it did not stick. Unfortunately that is how I am, I need understanding for DRY information to stay accessible in my mind.
So THIS time I went looking for the reasons why programming does this (counter intuitively to a layman's understating).
Here is what I found (googling) and it indeed makes logical sense to me now: