美文网首页前端基础类学习
关于两道字符串处理的题

关于两道字符串处理的题

作者: 饥人谷_米弥轮 | 来源:发表于2017-07-05 18:14 被阅读18次

1.将一串数字每三位用逗号分隔

  function formatNum(str){
    var newStr = "";
    var count = 0;

    if(str.indexOf(".")==-1){
        for(var i=str.length-1;i>=0;i--){
            if(count % 3 == 0 && count != 0){
                newStr = str.charAt(i) + "," + newStr;
            }else{
                newStr = str.charAt(i) + newStr;
            }
                count++;
        }
        str = newStr + ".00"; //自动补小数点后两位
        console.log(str)
    }else{
        for(var i = str.indexOf(".")-1;i>=0;i--){// 4
            // console.log('newStr:',newStr)
            if(count % 3 == 0 && count != 0){
                newStr = str.charAt(i) + "," + newStr;
                // console.log('i:',i)
                // console.log('str.charAt(i):',str.charAt(i))
                // console.log('newStr:',newStr)
                // console.log('newStr:',newStr)
            }else{
                newStr = str.charAt(i) + newStr; //逐个字符相接起来
            }
            count++;
        }
        console.log('newStr:',newStr)
        console.log('str:',newStr +(str+'00'))
        console.log((str + "00").indexOf("."))
        str = newStr + (str + "00").substr((str + "00").indexOf("."),3);
        console.log(str)
    }
}

formatNum('13213.24'); //输出13,213.34
formatNum('132134.2');  //输出132,134.20
formatNum('132134');  //输出132,134.00
formatNum('132134.236');  //输出132,134.23

2.将一串数字每四位用空格分隔

//方法1:
function formatNum(str){
    var array1 = str.split(''),
        array2 = [];

    for(var i = 0; i < array1.length; i++){
        if(i != 0 && i % 4 === 0){
            array2.push(' ');
            array2.push(array1[i]);
        }else{
            array2.push(array1[i]);
        }
    }

    console.log(array2.join(''))
}

formatNum('132134484321882')

//方法2:
function formatNum(str){
    var array = str.split('');
    var count = 0;

    for(var i = 0; i <= array.length; i++){
        if(i != 0 && i == 4){
            array.splice(i,0,' ');
        }
        if(i > 4 && i % 4 == 0){
            count += 5;
            if(count != 5){
                array.splice(count-1,0,' ');
            }
        }
    }

    console.log(array.join(''))
}

formatNum('132134484321882123143545412341231254642365768')

相关文章

  • 关于两道字符串处理的题

    1.将一串数字每三位用逗号分隔 2.将一串数字每四位用空格分隔

  • 2020-04-14第六天

    2020-4-14 9:45签到;继续还是三道题;两道easy,一道medium; medium题:逆序处理最...

  • 两道分析题的处理

    今天下午一位前辈给我出了两道要写代码的分析题,说的晚上要交过去,现在已经很晚了。 题目 10个线程计算100000...

  • 两道回文子串的解法

    两道题分别是:leetcode 5. 最长回文子串 和 647. 回文子串 先看647题 找到一个字符串中所有的回...

  • 网易互娱提前批面试|你的努力一定会有收获

    作者:虞姬同桌来源:牛客网 1、笔试(手撕代码) PART/01 两道题,半小时。 1)单字符串压缩 : 输入:A...

  • FCC 检查字符串结尾、重复输出字符串

    今天做了FCC的两道题,自己做出来了,赶紧过来总结一下。 检查字符串结尾 判断一个字符串(str)是否以指定的字符...

  • Swift关于富文本

    记录几个关于富文本处理的方法 处理网络请求回来的html字符串 处理后的html字符串转换成NSMutableAt...

  • 最长重复子串

    前言 据统计,在所有程序中,关于字符串处理的程序占到了百分之八十以上,所以关于字符串处理的算法十分多,而且关于数字...

  • python 字符串处理算法总结

      应届生找工作的时候,第一轮笔试中,必然是有一个字符串的算法题。字符串处理是算法领域里非常重要的东西,有些是关于...

  • 美导的附加题,做到狂加分!

    关于附加题 上学时,一般考卷总分是100分,但在考卷最后会有两道题叫做附加题,每题10分,这样考卷的总分就变成了...

网友评论

    本文标题:关于两道字符串处理的题

    本文链接:https://www.haomeiwen.com/subject/sciqhxtx.html