Vue科学计数法常见处理方法举例
一、Vue之Number
在Vue中,可以使用JavaScript的内置Number对象来进行数字相关的操作和转换。
1、常见的Number对象的用法示例
<template> <div> <p>{{ formattedNumber }}</p> </div> </template> <script> export default { data() { return { number: 123456.789, }; }, computed: { formattedNumber() { const formatted = Number(this.number).toLocaleString(); // 格式化为带千分位的字符串 const rounded = Number(this.number).toFixed(2); // 保留两位小数 const parsed = Number.parseFloat("3.14"); // 解析字符串为浮点数 const intValue = Number.parseInt("42"); // 解析字符串为整数 const isFiniteNumber = Number.isFinite(123); // 检查是否为有限数 const isNaNNumber = Number.isNaN(NaN); // 检查是否为NaN return `${formatted}, ${rounded}, ${parsed}, ${intValue}, ${isFiniteNumber}, ${isNaNNumber}`; }, }, }; </script>
2、常用方法和属性总结
- toLocaleString():将数字格式化为带有千分位分隔符的字符串。
- toFixed():将数字保留指定的小数位数,并返回一个字符串。
- parseFloat():将字符串解析为浮点数。
- parseInt():将字符串解析为整数。
- isFinite():检查一个值是否为有限数。
- isNaN():检查一个值是否为NaN。
在计算属性formattedNumber中,我们将这些方法应用到number数据上,并返回一个包含了格式化、保留小数、解析字符串、检查数值的结果的字符串。
请注意,这只是一些Number对象的用法示例,你可以根据自己的需求进行修改和扩展。
二、Vue 科学计数法互相转换
在Vue中,可以使用JavaScript的内置方法toExponential()来处理科学计数法,并结合toFixed()方法来保留指定小数位数。
以下是一个示例代码,将科学计数法转换为对应保留两位小数的字符串:
<template> <div> <p>{{ formattedNumber }}</p> </div> </template> <script> export default { data() { return { number: 1.23e+6, }; }, computed: { formattedNumber() { const decimalNumber = this.number.toFixed(2); // 保留两位小数 const scientificNotation = Number(decimalNumber).toExponential(); // 转换为科学计数法 return scientificNotation; }, }, }; </script>
在上述示例中,number的初始值为科学计数法表示的数字1.23e+6。通过toFixed(2)方法,我们将其转换为具有两位小数的字符串"1230000.00"。然后,使用Number()将其转换回数字,并使用toExponential()方法将其转换为科学计数法表示的字符串"1.23e+6"。
在模板中,我们通过formattedNumber计算属性将格式化后的科学计数法字符串显示出来。
请注意,这只是一个示例,你可以根据自己的需求进行修改和调整
三、举例
1、保留两位小数
dealNum(val) { return (val * 1).toFixed(2); },
2、保留两位小数的百分数
dealNum(val) { return (val * 100).toFixed(2) + "%"; },
3、查询通过率
//通过率 dealNum(passNum, totalNum) { return (passNum / totalNum).toFixed(2) + "%"; },
附:vue3数字框不转科学记数法
要让Vue3的数字框不转换成科学记数法,可以在输入框中使用inputmode
属性,并将其设置为numeric
。这将告诉浏览器,输入框中只能输入数字,并且不会将其转换成科学记数法。例如:
<template> <div> <label>Number:</label> <input type="number" inputmode="numeric" v-model="number"> </div> </template> <script> export default { data() { return { number: null }; } }; </script>
这里使用了inputmode
属性,并将其设置为numeric
,这样输入框中输入的数字就不会以科学记数法的形式进行显示。
总结
到此这篇关于Vue科学计数法常见处理方法的文章就介绍到这了,更多相关Vue科学计数法举例内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue中watch监听器用法之deep、immediate、flush
Vue是可以监听到多层级数据改变的,且可以在页面上做出对应展示,下面这篇文章主要给大家介绍了关于vue中watch监听器用法之deep、immediate、flush的相关资料,需要的朋友可以参考下2022-09-09vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
这篇文章主要介绍了vue+elementUI(el-upload)图片压缩,默认同比例压缩操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-08-08解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题
这篇文章主要介绍了解决vue 使用setTimeout,离开当前路由setTimeout未销毁的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-07-07
最新评论