本博客来自一道被面试了两次的手撕题。
要求如下:
将数字123412,转换为字符串1,234.12。
这道题很简单,但是第一次面试的时候思路很混乱,写的很麻烦。而且没有考虑负数情况。
所以第二次面试官又让把这个题目再写一遍,人麻了。上来整个人是懵的。上次怎么写的也忘记了。然后就想到了一个更好一些的方法。
js代码如下:
function test(num){
let str=num.toString();
if(num<0)
str=str.slice(1);
let length=str.length;
if(length==1){
if(num<0)
return `-0.0${str}`;
else
return `0.0${str}`;
}
if(length==2){
if(num<0)
return `-0.${str}`;
else
return `0.${str}`;
}
str=str.slice(0,-2)+'.'+str.slice(-2);
length++;
let j=length-4;
while(j>=3){
j-=3;
str=str.slice(0,j+1)+','+str.slice(j+1);
}
if(num<0)
return `-${str}`;
else
return str;
}