这里要用到parseFloat()和toFixed()函数
1、parseFloat函数在解析字符时从第一个字符开始解析每一个字符,直到遇到非法数字字符为止,例如:
// 举例:
var num1 = parseFloat("123AF"); //123
var num2 = parseFloat("0xA"); //0
var num3 = parseFloat("22.5"); //22.5
var num4 = parseFloat("22.3.56"); //22.3
var num5 = parseFloat('0908.5'); // 908.5
var num6 = parseFloat('15a'); // 15
var num7 = parseFloat('asdfew'); // NaN
var num8 = parseFloat('a123'); // NaN
var num9 = parseFloat('41.00000'); // 41
2、toFixed()函数则是不管你是整数还是小数,只会保存你指定位数的小数,如果多于指定位数的话四射五入,整数的话会拼接0来满足指定的位数,但是,它只能用来处理number类型的数据
let num1 = 143.4567.toFixed(2) //143.46
let num2 = '123'.toFixed(2) // TypeError: num1.toFixed is not a function
at xxxxxx
而要满足上面说的让整数和少于两位的小数原样输出,让小数多于两位的小数保留两位小数的话则需要将两个组合一下:
parseFloat(123.465.toFixed(2)) //123.47
parseFloat(123.toFixed(2)) //123
parseFloat(123.000000.toFixed(2)) //123
其实并不难,就是用得少想不起来