this.value
is a String
when you get it from an input element. You need to cast it to a number before you can use a number's methods on it:
this.value = Number(this.value).toFixed(1);
Alternatively you can use the unary +
operator to cast the string to a number:
this.value (+this.value).toFixed(1);
If you need to remove string suffixes, then you could use parseFloat
:
this.value = parseFloat(this.value).toFixed(1);
However, it's worth noting that parseFloat
does not handle hexadecimal formats while casting to Number
does:
this.value = +'0xF'; //15
this.value = parseFloat('0xF'); //0
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…