ES6-Number

今天用到了ES6语法中Number的一个使用场景,用Input组件获得的value是 string类型的,然后目前是有三个input,一个单价,一个数量,一个总价,本来我可以使用 parseInt 将字符串转化为整数就好了,这样就能相乘计算出总价了,但是如果是小数,就不能使用 parseInt,其实是可以使用 parseFloat 的,但是经过 parseFloat 转化的值是 string 类型的,这个类型是不能加的,这时候就不是数值相加,而是会变成字符串相加。于是我就用了 ES6 中的number类型。
用 Number.parseFloat 转化的值的类型是 number,number是可以相加减的。但注意浮点数相加减有溢出的可能性,所以设置保留2位小数。
这里附上判断数字的正则表达式

const 
reg = /^-?(0|[1-9][0-9]*)(\.[0-9]*)?$/;
totalPrice = Number.parseFloat(num) * Number.parseFloat(price).toFixed(2);
console.log( typeof totalPrice ) // number

猜你喜欢

转载自blog.csdn.net/kelly0721/article/details/89679601
ES6
今日推荐