当前位置:   article > 正文

Vue.js阿拉伯数字转化成人民币的中文_vue 循环的index阿拉伯数字转中文数字

vue 循环的index阿拉伯数字转中文数字
  1. // 数字金额转化成人民币的中文
  2. export function numberToChinese(money) {
  3. //汉字的数字
  4. var cnNums = new Array(
  5. "零",
  6. "壹",
  7. "贰",
  8. "叁",
  9. "肆",
  10. "伍",
  11. "陆",
  12. "柒",
  13. "捌",
  14. "玖"
  15. );
  16. //基本单位
  17. var cnIntRadice = new Array("", "拾", "佰", "仟");
  18. //对应整数部分扩展单位
  19. var cnIntUnits = new Array("", "万", "亿", "兆");
  20. //对应小数部分单位
  21. var cnDecUnits = new Array("角", "分", "毫", "厘");
  22. //整数金额时后面跟的字符
  23. var cnInteger = "整";
  24. //整型完以后的单位
  25. var cnIntLast = "元";
  26. //最大处理的数字
  27. var maxNum = 999999999999999.9999;
  28. //金额整数部分
  29. var integerNum;
  30. //金额小数部分
  31. var decimalNum;
  32. //输出的中文金额字符串
  33. var chineseStr = "";
  34. //分离金额后用的数组,预定义
  35. var parts;
  36. if (money == "") {
  37. return "";
  38. }
  39. money = parseFloat(money);
  40. if (money >= maxNum) {
  41. //超出最大处理数字
  42. return "";
  43. }
  44. if (money == 0) {
  45. chineseStr = cnNums[0] + cnIntLast + cnInteger;
  46. return chineseStr;
  47. }
  48. //转换为字符串
  49. money = money.toString();
  50. if (money.indexOf(".") == -1) {
  51. integerNum = money;
  52. decimalNum = "";
  53. } else {
  54. parts = money.split(".");
  55. integerNum = parts[0];
  56. decimalNum = parts[1].substr(0, 4);
  57. }
  58. //获取整型部分转换
  59. if (parseInt(integerNum, 10) > 0) {
  60. var zeroCount = 0;
  61. var IntLen = integerNum.length;
  62. for (var i = 0; i < IntLen; i++) {
  63. var n = integerNum.substr(i, 1);
  64. var p = IntLen - i - 1;
  65. var q = p / 4;
  66. var m = p % 4;
  67. if (n == "0") {
  68. zeroCount++;
  69. } else {
  70. if (zeroCount > 0) {
  71. chineseStr += cnNums[0];
  72. }
  73. //归零
  74. zeroCount = 0;
  75. chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
  76. }
  77. if (m == 0 && zeroCount < 4) {
  78. chineseStr += cnIntUnits[q];
  79. }
  80. }
  81. chineseStr += cnIntLast;
  82. }
  83. //小数部分
  84. if (decimalNum != "") {
  85. var decLen = decimalNum.length;
  86. for (var i = 0; i < decLen; i++) {
  87. var n = decimalNum.substr(i, 1);
  88. if (n != "0") {
  89. chineseStr += cnNums[Number(n)] + cnDecUnits[i];
  90. }
  91. }
  92. }
  93. if (chineseStr == "") {
  94. chineseStr += cnNums[0] + cnIntLast + cnInteger;
  95. } else if (decimalNum == "") {
  96. chineseStr += cnInteger;
  97. }
  98. return chineseStr;
  99. }

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

闽ICP备14008679号