当前位置:   article > 正文

vue中使用过滤器将阿拉伯数字转换成汉字_vue循环的时候把数字1转化成一

vue循环的时候把数字1转化成一

首先定义我们的全局过滤器

代码复制:

  1. Vue.filter('numberChange'function(num) {
  2.   const arr1 = ['零''一''二''三''四''五''六''七''八''九'];
  3.   const arr2 = [ '','十','百','千''万','十''百','千','亿','十','百','千','万','十','百','千','亿']; // 可继续追加更高位转换值
  4.   if (!num) {
  5.     return '零';
  6.   }
  7.   const splitNumberArr = num
  8.     .toString()
  9.     .split('')
  10.     .reverse();
  11.   let result = '';
  12.   for (let i = 0; i < splitNumberArr.length; i++) {
  13.     const index = splitNumberArr[i];
  14.     result = arr1[index] + arr2[i] + result;
  15.     console.log('b.result', result);
  16.   }
  17.   // 将【零千、零百、零十】换成【零】 【十零】换成【十】
  18.   result = result.replace(/零(千|百|十)/g'零').replace(/十零/g'十');
  19.   // 将【零亿】换成【亿】【零万】换成【万】
  20.   result = result.replace(/零亿/g'亿').replace(/零万/g'万');
  21.   // 将【亿万】换成【亿】
  22.   result = result.replace(/亿万/g'亿');
  23.   // 移除末尾的零
  24.   result = result.replace(/零+$/'');
  25.   // 将【一十】换成【十】(一开头的两位数)
  26.   result = result.replace(/^一十/g'十');
  27.   return result;
  28. });

在页面中使用过滤器:

页面效果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/313617
推荐阅读
相关标签
  

闽ICP备14008679号