woah what complications, how about this:
x = Min + (random() * ((Max - Min) + 1))
1st problem = minimum is 280, maximum 420.
same thing applies to the 2nd problem, your minimum is -100, while your maximum is 0.
same formula applies. - gives you a random number between your max and min, now if you want percentage of that number in your range you just apply this:
perc = (x /(max+min))*100