數字轉化為大寫
阿新 • • 發佈:2019-01-14
註釋:將金錢的小寫轉化為大寫
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(/^整$/,'零元整'); }