When dealing with numbers less than and greater than 1 (i.e 120% and -20%) the multiplication logic will not function well. With these two inputs: 1.2 = 1.2% (incorrect) -0.20 = -200% (correct) I think removal of the logic that adds/excludes the multiplication (one way or the other) is in order to resolve.