JS 가 숫자 금액 을 대문자 한자 로 바 꾸 는 방법

3212 단어
이 글 은 JS 가 숫자 금액 을 대문자 로 한자 로 바 꾸 는 방법 을 실례 로 들 었 다.여러분 께 참고 하도록 공유 하 겠 습 니 다. 구체 적 으로 는 다음 과 같 습 니 다.

//      :
function convertCurrency(money) {
  //     
  var cnNums = new Array(' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ');
  //    
  var cnIntRadice = new Array('', ' ', ' ', ' ');
  //          
  var cnIntUnits = new Array('', ' ', ' ', ' ');
  //        
  var cnDecUnits = new Array(' ', ' ', ' ', ' ');
  //           
  var cnInteger = ' ';
  //        
  var cnIntLast = ' ';
  //       
  var maxNum = 999999999999999.9999;
  //      
  var integerNum;
  //      
  var decimalNum;
  //          
  var chineseStr = '';
  //         ,   
  var parts;
  if (money == '') { return ''; }
  money = parseFloat(money);
  if (money >= maxNum) {
    //        
    return '';
  }
  if (money == 0) {
    chineseStr = cnNums[0] + cnIntLast + cnInteger;
    return chineseStr;
  }
  //      
  money = money.toString();
  if (money.indexOf('.') == -1) {
    integerNum = money;
    decimalNum = '';
  } else {
    parts = money.split('.');
    integerNum = parts[0];
    decimalNum = parts[1].substr(0, 4);
  }
  //        
  if (parseInt(integerNum, 10) > 0) {
    var zeroCount = 0;
    var IntLen = integerNum.length;
    for (var i = 0; i < IntLen; i++) {
      var n = integerNum.substr(i, 1);
      var p = IntLen - i - 1;
      var q = p / 4;
      var m = p % 4;
      if (n == '0') {
        zeroCount++;
      } else {
        if (zeroCount > 0) {
          chineseStr += cnNums[0];
        }
        //  
        zeroCount = 0;
        chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
      }
      if (m == 0 && zeroCount < 4) {
        chineseStr += cnIntUnits[q];
      }
    }
    chineseStr += cnIntLast;
  }
  //    
  if (decimalNum != '') {
    var decLen = decimalNum.length;
    for (var i = 0; i < decLen; i++) {
      var n = decimalNum.substr(i, 1);
      if (n != '0') {
        chineseStr += cnNums[Number(n)] + cnDecUnits[i];
      }
    }
  }
  if (chineseStr == '') {
    chineseStr += cnNums[0] + cnIntLast + cnInteger;
  } else if (decimalNum == '') {
    chineseStr += cnInteger;
  }
  return chineseStr;
}


PS: 여기 서 여러분 께 참고 할 수 있 는 온라인 도 구 를 제공 합 니 다.
인민폐 대문자 온라인 변환 도구:http://tools.jb51.net/zhuanhuanqi/rmbupper
자 바스 크 립 트 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,,및 자바 스 크 립 트 알고리즘 및 기술 총화
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기