You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
2.4 KiB

5 years ago
  1. export default {
  2. //格式化日期:yyyy-MM-dd
  3. transToChinese: function (tranvalue) {
  4. try {
  5. var i = 1;
  6. var dw2 = new Array("", "万", "亿");//大单位
  7. var dw1 = new Array("拾", "佰", "仟");//小单位
  8. var dw = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");//整数部分用
  9. //以下是小写转换成大写显示在合计大写的文本框中
  10. //分离整数与小数
  11. var source = this.splits(tranvalue + "");
  12. var num = source[0];
  13. var dig = source[1];
  14. //转换整数部分
  15. var k1 = 0;//计小单位
  16. var k2 = 0;//计大单位
  17. var sum = 0;
  18. var str = "";
  19. var len = source[0].length;//整数的长度
  20. for (i = 1; i <= len; i++) {
  21. var n = source[0].charAt(len - i);//取得某个位数上的数字
  22. var bn = 0;
  23. if (len - i - 1 >= 0) {
  24. bn = source[0].charAt(len - i - 1);//取得某个位数前一位上的数字
  25. }
  26. sum = sum + Number(n);
  27. if (sum != 0) {
  28. str = dw[Number(n)].concat(str);//取得该数字对应的大写数字,并插入到str字符串的前面
  29. if (n == '0') sum = 0;
  30. }
  31. if (len - i - 1 >= 0) {//在数字范围内
  32. if (k1 != 3) {//加小单位
  33. if (bn != 0) {
  34. str = dw1[k1].concat(str);
  35. }
  36. k1++;
  37. } else {//不加小单位,加大单位
  38. k1 = 0;
  39. var temp = str.charAt(0);
  40. if (temp == "万" || temp == "亿")//若大单位前没有数字则舍去大单位
  41. str = str.substr(1, str.length - 1);
  42. str = dw2[k2].concat(str);
  43. sum = 0;
  44. }
  45. }
  46. if (k1 == 3)//小单位到千则大单位进一
  47. { k2++; }
  48. }
  49. //转换小数部分
  50. var strdig = "";
  51. if (dig != "") {
  52. var n = dig.charAt(0);
  53. if (n != 0) {
  54. strdig += dw[Number(n)] + "角";//加数字
  55. }
  56. var n = dig.charAt(1);
  57. if (n != 0) {
  58. strdig += dw[Number(n)] + "分";//加数字
  59. }
  60. }
  61. str += "元" + strdig;
  62. } catch (e) {
  63. console.log(e, "e");
  64. return "0元";
  65. }
  66. return str;
  67. },
  68. splits(tranvalue) {
  69. var value = new Array('', '');
  70. let temp = tranvalue.split(".");
  71. for (var i = 0; i < temp.length; i++) {
  72. value[i] = temp[i];
  73. }
  74. return value;
  75. }
  76. }