如何将数字四舍五入并添加数字标点符号
How to round a number up and add numeric punctuation
我有以下笔:http://codepen.io/anon/pen/LVLzvR
我不太明白如何将数字四舍五入,以免打断标点符号。我需要将数字四舍五入,因为我不想看到像 33,333.,333
这样的值
//ADDS PUNCTUATION EVERY THREE CHARACTERS
$('input.numericpunctuation').keyup(function(event){
var oNum= $(this).val(); // USE THIS NUMBER FOR CALCULATION
var num = oNum.replace(/,/gi, "").split("").reverse().join("");
var num2 = RemoveRougeChar(num.replace(/(.{3})/g,",").split("").reverse().join(""));
console.log(num2);
console.log(oNum);
// the following line has been simplified. Revision history contains original.
$(this).val(num2);
});
function RemoveRougeChar(convertString){
if(convertString.substring(0,1) == ","){
return convertString.substring(1, convertString.length)
}
return convertString;
}
示例输入事件:
如果我输入 5555,预计会看到(并且确实看到)5,555。但是,如果我添加 5555.55,我将得到 5,555,.55。理想情况下,我喜欢将数字四舍五入,去掉小数点。
问题不仅仅在于小数,输入非数字也会导致格式错误,例如,单击 King Kong
将导致 Kin,g K,ong
。因此,您可能想要过滤掉非数字,这可以通过将 var oNum= $(this).val();
行更改为:
来完成
var oNum= $(this).val().match(/\d/g).join('');
match
函数中的值是一个 RegEx 对象 - 如果您以前从未使用过它,那么恭喜您!
我有以下笔:http://codepen.io/anon/pen/LVLzvR
我不太明白如何将数字四舍五入,以免打断标点符号。我需要将数字四舍五入,因为我不想看到像 33,333.,333
这样的值 //ADDS PUNCTUATION EVERY THREE CHARACTERS
$('input.numericpunctuation').keyup(function(event){
var oNum= $(this).val(); // USE THIS NUMBER FOR CALCULATION
var num = oNum.replace(/,/gi, "").split("").reverse().join("");
var num2 = RemoveRougeChar(num.replace(/(.{3})/g,",").split("").reverse().join(""));
console.log(num2);
console.log(oNum);
// the following line has been simplified. Revision history contains original.
$(this).val(num2);
});
function RemoveRougeChar(convertString){
if(convertString.substring(0,1) == ","){
return convertString.substring(1, convertString.length)
}
return convertString;
}
示例输入事件: 如果我输入 5555,预计会看到(并且确实看到)5,555。但是,如果我添加 5555.55,我将得到 5,555,.55。理想情况下,我喜欢将数字四舍五入,去掉小数点。
问题不仅仅在于小数,输入非数字也会导致格式错误,例如,单击 King Kong
将导致 Kin,g K,ong
。因此,您可能想要过滤掉非数字,这可以通过将 var oNum= $(this).val();
行更改为:
var oNum= $(this).val().match(/\d/g).join('');
match
函数中的值是一个 RegEx 对象 - 如果您以前从未使用过它,那么恭喜您!