También puedes usar parseInt, aunque no creo que haga mucha diferencia, ¿por qué en el último ejemplo no usas el Math.abs()?. Y es realmente muy raro que tome el valor negativo
¿Has probado en vez de anidar el if poner otro if? Así:
if (m>100) {m=100}
if (m<0) {m=0}