VueJS v-model 自动将输入框获取的字符串转换为数字

更新日期: 2020-03-02 阅读次数: 583 字数: 152 分类: VueJS

JS 的类型转换容易出现 bug

html input 输入框即便指定 type="number",也经常出现 v-model 获取到的值为字符串的情况。

于是就出现了,在数值计算逻辑中,数字与字符串相加的情况。

> 100 + "2.35"
"1002.35"

而我们预期的是:

100 + 2.35
102.35

在钱相关的计算中,这非常危险。

所以,不得不使用 parseFloat() 或者 Number() 对字符串进行转换。

VueJS 自动转换

<input v-model.number="price" type="number">

这样就方便多了。

类似的功能还有 v-model.trim。

参考

https://vuejs.org/v2/guide/forms.html#number

爱评论不评论

近期节日

2020年04月01日 愚人节
2020年04月02日 国际儿童图书日
2020年04月03日 寒食节
2020年04月04日 清明节
2020年04月07日 世界卫生日
2020年04月11日 世界帕金森病日
2020年04月19日 谷雨
2020年04月21日 复活节
2020年04月22日 世界地球日
2020年04月23日 世界读书日
2020年04月26日 知识产权日
2020年04月30日 佛诞
查看更多节日