Well, if you do Integer(.5), it'll return zero (I think... it's been a while). You would be better off saving it in a real variable, and then loop: if the variable is greater than 1, do set StrengthVariable = StrengthVariable - 1, and add 1 strength to the killing unit. And you can't add something to the end, you just have to redo the whole thing.
Hero - Modify Strength of (Killing unit): Add (Integer(((Real((Level of Strength Steal for (Killing unit)))) x 0.50)))
What's done was: convert the Level of Strength from an integer to a real, half it, then convert it back to an integer
fyi unless Strength Steal has a lot of levels that you can learn, I don't recommend halving it's value, its just unneeded arithmetic. =/ Just an opinion
The Strength of a hero is an Integer. So even if your killing hero has, say, the highest level of Steal Strength (which is level 3), you'll be adding 0.1 x 3 = 0.3 points to strength. But the number 0.3 is a Real number, so it's gotta be converted to a Integer before you want to add it to strength (because remember, strength is an integer). 0.3 in Real is 0 in Integer, so you aren't really doing anything.
If you want something similar to the hero Pudge in DotA, you have to use JASS to attach a real variable to your hero, indicating the amount of strength added. =/
You'll have to keep track of strength bonuses with JASS scripts. Mind you, a work-around (if you don't want to use JASS) is just decrease the HP and HP regen that you get per Strength point, then increase the base Strength and Strength gains of your hero. That way your heroes will still have the same HP and HP regens, but one point of Strength per unit killed won't be as overpowered.
You can store it in a variable, it doesn't require JASS.. All you have to do is make sure your variables are straight with the units, such as an array with eight players (assuming each player can only have one of this unit) variable[1]-variable[8]. And whenever the variable is greater than 1, add the integer value to strength and subtract one from the variable. If you have more than one of these units, you need to use the maximum number of the units per player x the player number, and if your index starts at 0 then it'd be just [player number x max units], if you start at 1, it'd be [player number x max units + 1]
Ghan has said he has fixed this. Monovertex please confirm this fix. This was only a problem with people that had signatures in the upper levels like not the special members but the respected members.