每隔三个数加一个逗号,还要考虑小数点的情况

 /*输入为数字,在小数点左边每三位添加逗号
 *同时考虑到了有小数点和没有小数点的情况
/ 
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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章