原生JavaScript實現金額大寫轉換函式

來源:互聯網
上載者:User

標籤:

function transform(tranvalue) {  try {    var i = 1;    var dw2 = new Array("", "萬", "億"); //大單位    var dw1 = new Array("拾", "佰", "仟"); //小單位    var dw = new Array("零", "壹", "貳", "三", "肆", "伍", "陸", "柒", "捌", "玖"); //整數部分用    //以下是小寫轉換成大寫顯示在合計大寫的文字框中    //分離整數與小數    var source = splits(tranvalue);    var num = source[0];    var dig = source[1];    //轉換整數部分    var k1 = 0; //計小單位    var k2 = 0; //計大單位    var sum = 0;    var str = "";    var len = source[0].length; //整數的長度    for (i = 1; i <= len; i++) {      var n = source[0].charAt(len - i); //取得某個位元上的數字      var bn = 0;      if (len - i - 1 >= 0) {        bn = source[0].charAt(len - i - 1); //取得某個位元前一位上的數字      }      sum = sum + Number(n);      if (sum != 0) {        str = dw[Number(n)].concat(str); //取得該數字對應的大寫數字,並插入到str字串的前面        if (n == ‘0‘) sum = 0;      }      if (len - i - 1 >= 0) { //在數字範圍內        if (k1 != 3) { //加小單位          if (bn != 0) {            str = dw1[k1].concat(str);          }          k1++;        } else { //不加小單位,加大單位          k1 = 0;          var temp = str.charAt(0);          if (temp == "萬" || temp == "億") //若大單位前沒有數字則捨去大單位          str = str.substr(1, str.length - 1);          str = dw2[k2].concat(str);          sum = 0;        }      }      if (k1 == 3) //小單位到千則大單位進一      {        k2++;      }    }    //轉換小數部分    var strdig = "";    if (dig != "") {      var n = dig.charAt(0);      if (n != 0) {        strdig += dw[Number(n)] + "角"; //加數字      }      var n = dig.charAt(1);      if (n != 0) {        strdig += dw[Number(n)] + "分"; //加數字      }    }    str += "元" + strdig;  } catch(e) {    return "0元";  }  return str;}//拆分整數與小數function splits(tranvalue) {  var value = new Array(‘‘, ‘‘);  temp = tranvalue.split(".");  for (var i = 0; i < temp.length; i++) {    value[i] = temp[i];  }  return value;}

 

原生JavaScript實現金額大寫轉換函式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.