1. 程式人生 > >數字轉化為大寫

數字轉化為大寫

註釋:將金錢的小寫轉化為大寫

setChargePercent(price){
  let n =   price;
  let fraction = ['角','分'];
  let digit = ['壹','貳','叄','肆','伍','陸','柒','捌','玖']  
  let unit = [['元','萬','億',],['','拾','佰','仟']]  
  let head = n<0?'欠':'';
  n = Math.abs(n);
  var s = '';
  for (let i = 0 ; i < fraction.length ; i++) {
     s
+ = (digit[Math.floor(n*10*Math.pow(10,i))%10] + fraction[i]).replace(/零./,'') ; } s = s|| '整'; n = Math.floor(n); for (let i= 0; i < unit[0].length && n >0; i++ ){ let p = '' for (let j= 0; j< unit[1].length && n >0; j++ ){ p = digit[n%10]+unit[1][j]+p n
=Math.floor(n/10); } s = p.replace(/(零.)*零$/,'').replace(/^$/,'零')+unit[0][i]+s; } var chargePrice = ''; chargePrice = head + s.replace(/(零.)*零元/,'元').replace(/(零.)+/g,'零').replace(/^整$/,'零元整'); }