取两位小数,排除非数字类型的情况下,直接使用.toFixed(n)
Number.toFixed(n) – 保留n位小数点,多出的四舍五入
var num=123456.789;
var num1=num.toFixed(2) // 123456.79
如果不要四舍五入,并且一定要去2位小数,即使是“3.1”这种要变成“3.10”:,可以先把数字转成字符串( toString() ),然后截取字串的方式,截取前面2位,那样又是保留2位小数,又不会四舍五入,最后把结果转回数字( parseFloat() ),并用toFixed(2)保留2位小数(目的是把3.1这种数字变成3.10):
var num1=3.3499999;
var str2=num1.toString();
var str3=str2.substring(0,str2.lastIndexOf('.')+3);
var num4=parseFloat(str3).toFixed(2)
console.log(num4)
console.log(parseFloat(str2.substring(0,str2.lastIndexOf('.')+3)).toFixed(2))