整体思路就是先拿到数据后,先把它当成字符串处理,通过小数点,分开整数和小数部分,然后处理整数部分,如果整数部分小于等于3位,直接用就可以啦,如果大于3位,那么就把这个整数最后3位先存起来且前面加上逗号,然后割掉这个整数的这3位,继续重复这个判断,每次截取的后三位都拼到上一次截取结果的前面,直到整数部分小于等于三位了,就可以和存储的结果拼在一起,再拼上小数部分就可以啦。
希望大家能有更好的方法~
比如请求数据返回金额为10000,然后我们给做个金额格式分段;
1、我们首先模拟个数据~vue:data( ){ reutrn:{ num:10000 } } 原生js:var num=10000
2、在项目中创建一个.js文件写入js方法,如下;
3、js使用可以直接写在方法外
4、vue可以将.js文件引入main文件,或者在本页面引入
5、写入要转换的变量值
可以通过缩放来进行分到元的转换,同时使用正则对处理后的数字进行千分位格式化
num=num*0.01//分到元
num+=''//转成字符串
reg=num.indexOf('.') >-1 ? /(\d{1,3})(?=(?:\d{3})+\.)/g : /(\d{1,3})(?=(?:\d{3})+$)/g//确定使用有哪个正则
num=num.replace(reg, '$1,')//千分位格式化
经过上述4步,即可完成分到元的转换,并且有千分位的格式化