需求:把一个字符串分小数点前后两部分,每隔三位插入一个‘,’将其分开。
注意:本题需要考虑(1)是否存在小数点,(2)前后临界处不加‘,’。
let str = '123456.78920';function fn(str){ let arr = str.split('.'); let left = ''; let right = ''; for(let i = arr[0].length-1; i >= 0; i--){ left = arr[0][i] + left; //注意是前插 而不是left += arr[0][i]; if((arr[0].length-i)%3 === 0 && i > 0){ left = ',' + left; } } if(arr.length === 2){ for(let j = 0; j < arr[1].length; j++){ right += arr[1][j]; if(j % 3 === 2 && j !== 0 && j < arr[1].length-1){ right += ',' } } right = '.' + right; } let res = '$' + left + right; console.log(res); return res;}fn(str);复制代码