Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.63 KB | None | 0 0
  1. function transform(tranvalue) {
  2. try {
  3. var i = 1;
  4. var dw2 = new Array("", "万", "亿"); //大单位
  5. var dw1 = new Array("拾", "佰", "仟"); //小单位
  6. var dw = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); //整数部分用
  7. //以下是小写转换成大写显示在合计大写的文本框中
  8. //分离整数与小数
  9. var source = splits(tranvalue);
  10. var num = source[0];
  11. var dig = source[1];
  12. //转换整数部分
  13. var k1 = 0; //计小单位
  14. var k2 = 0; //计大单位
  15. var sum = 0;
  16. var str = "";
  17. var len = source[0].length; //整数的长度
  18. for (i = 1; i <= len; i++) {
  19. var n = source[0].charAt(len - i); //取得某个位数上的数字
  20. var bn = 0;
  21. if (len - i - 1 >= 0) {
  22. bn = source[0].charAt(len - i - 1); //取得某个位数前一位上的数字
  23. }
  24. sum = sum + Number(n);
  25. if (sum != 0) {
  26. str = dw[Number(n)].concat(str); //取得该数字对应的大写数字,并插入到str字符串的前面
  27. if (n == '0') sum = 0;
  28. }
  29. if (len - i - 1 >= 0) { //在数字范围内
  30. if (k1 != 3) { //加小单位
  31. if (bn != 0) {
  32. str = dw1[k1].concat(str);
  33. }
  34. k1++;
  35. } else { //不加小单位,加大单位
  36. k1 = 0;
  37. var temp = str.charAt(0);
  38. if (temp == "万" || temp == "亿") //若大单位前没有数字则舍去大单位
  39. str = str.substr(1, str.length - 1);
  40. str = dw2[k2].concat(str);
  41. sum = 0;
  42. }
  43. }
  44. if (k1 == 3){ //小单位到千则大单位进一
  45. k2++;
  46. }
  47. }
  48. //转换小数部分
  49. var strdig = "";
  50. if (dig != "") {
  51. var n = dig.charAt(0);
  52. if (n != 0) {
  53. strdig += dw[Number(n)] + "角"; //加数字
  54. }
  55. var n = dig.charAt(1);
  56. if (n != 0) {
  57. strdig += dw[Number(n)] + "分"; //加数字
  58. }
  59. }
  60. str += "元" + strdig;
  61. } catch(e) {
  62. return "0元";
  63. }
  64. return str;
  65. }
  66. //拆分整数与小数
  67. function splits(tranvalue) {
  68. var value = new Array('', '');
  69. temp = tranvalue.split(".");
  70. for (var i = 0; i < temp.length; i++) {
  71. value = temp;
  72. }
  73. return value;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement