两部分问题。
第1部分很简单,但我想知道您认为最优雅的解决方案:
用于将输入转换为格式正确且WITH" normal"的最佳程序是什么?逗号放置。输入范围可以是:
我希望它输出简单:8,000
第2部分,可能很容易我只是不知道正确的操作。我想对数字进行舍入,以便:它根据位数进行舍入。因此,任何时候都有两个未连接的数字。
答案 0 :(得分:1)
以下代码应回答问题的两个部分:
var input = "$820322310"; // String input
input = input.replace(/[^0-9\.]/g, ""); // remove all unnecessary characters
input = input.replace(/\.[0-9]+/, ""); // remove all after decimal (convert to integer)
if(parseInt(input[2]) >= 5) { // rounding to two decimal places
input[1] = input.slice(0, 1) + (parseInt(input[1]) + 1) + input.slice(2, input.length);
}
var count = 0;
for(var i = input.length-1; i >= 0; i--) {
if(i > 2) {
input = input.slice(0, i-1) + "0" + input.slice(i, input.length);
}
if(++count == 3 && i != 0) {
count = 0;
input = input.slice(0, i) + "," + input.slice(i, input.length);
}
}
请见JSFiddle。