每隔三個數加一個逗號,還要考慮小數點的情況

 /*輸入爲數字,在小數點左邊每三位添加逗號
 *同時考慮到了有小數點和沒有小數點的情況
/ 
function f(str){
    
     str=String(str)
     let point=str.indexOf('.'),position=[]
     //有小數點
     if(point>-1){
         let start=point-1,c=0
         for(let i=start;i>=0;i--){
             if(i<3){
                 break
             }
             c++
             if(c===3){
                 //插入逗號
                 position.push(i)
                 c=0
                 
             }
         }
    //沒有小數點
     }else{
         let c=0
         for(let i=str.length-1;i>=0;i--){
             if(i<3){
                 break
             }
             c++
             if(c===3){
                 //插入逗號
                 position.push(i)
                 c=0
             }
         }
     }
     let re=''
     for(let i=0;i<str.length;i++){
         if(position.indexOf(i)<0){
             re+=str[i]
         }else{
             re+=','
             position.splice(position.indexOf(i),1)
             i--
         }
         
     } 
     return re
 }
//測試輸入,56ms
f(123456789.01 )
發佈了60 篇原創文章 · 獲贊 28 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章