不辜負曾經那份熱愛
作業中經常遇到資料格式化處理,
例如:12345.89轉為12,345.89;-12345.89轉為-12,345.89;
避免每次都需要重新測驗重新寫,在此做一下整理,方便后期查找,
同時,也分享給有需要的小伙伴們?
思路
1. 數字先轉為字串,并通過"."分割成整數和小數兩部分;
2. 整數部分處理:(回圈操作) 截取整數后3位,前邊加",“拼接,剩下部分(去掉剛剛截掉的部分)再截取后3位,前邊加”,"拼接… …直到剩余部分長度小于等于3,結束回圈,并拼接剩余部分;
3. 小數部分保留位數及不夠位補零處理;
4. 考慮負數情況: 判斷有"-",先用變數標記此為負數,再做處理去掉負號,當資料格式處理完,最后加上負號;

代碼
// 貨幣加逗號
function Moneysettle(num) {
let states = false;
let ruzlut = '';
if (num === '') {
return '-';
}
// 如果是負數做的處理
num = num + '';
if (num && num.indexOf('-') > -1) {
num = num.replace('-', '');
states = true;
}
num = num + '';
const numStr = num.split('.'); // 先轉為字串,再分開整數和小數部分
let numInt = numStr[0]; // 整數部分
let numDec = numStr.length > 1 ? '.' + numStr[1] : '.'; // 小數部分,只有原數字存在小數點的時候,分割完長度才會大于1
while (3 - numDec.length) numDec += '0'; // 補0,只有整數的補2個,有一位小數的補1個
let resultInt = ''; // 存盤整數部分處理結果
while (numInt.length > 3) {
// 當剩余整數部分長度大于3時繼續處理
resultInt = ',' + numInt.slice(-3) + resultInt; // 把后三位截出來,和處理結果拼在一起,前面加逗號
numInt = numInt.slice(0, -3); // 剩下的部分是除去剛剛截掉的3位的部分
}
ruzlut = numInt + resultInt + numDec;
// 如果是負數就把負號加回來
if (states) {
ruzlut = '-' + ruzlut;
}
return ruzlut; // 結果是“剩余的不足3位的整數”+“處理好的整數結果”+“小數部分”
}
非常感謝你閱讀到這里,如果這篇文章對你有幫助,希望能留下你的點贊👍 關注?? 分享👥 留言💬thanks!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/312194.html
標籤:區塊鏈
上一篇:bee network蜜蜂幣突破1500萬用戶,pi幣模式,24小時點擊
下一篇:區塊鏈技術——作業量證明
