遇到的一个笔试题:var money = 1003450.89var res = convert(money); // 1,003,450.89我实现了一种方式,传统思维,感觉有点土,是否有更优雅的实现方法?下面是我的一种解法,期待更多答案。function convert(money){ money = money.toString(); var integer = money.slice(0, money.indexOf(".")); // 1003450 var decimal = money.slice(money.indexOf(".")); //89 var integerArray = integer.split(""); var res = "", m = 1; for(var i = integerArray.length - 1; i >= 0; i--){ res += integerArray[i]; if(m === 3) { m = 0; res += ","; } m++; } return res.split("").reverse().join("") + decimal;}console.log(convert(1003457678770.089));// 1,003,457,678,770.089
添加回答
举报
0/150
提交
取消