Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将数字四舍五入并添加数字标点符号_Javascript_Jquery_Numbers_Roundup - Fatal编程技术网

Javascript 如何将数字四舍五入并添加数字标点符号

Javascript 如何将数字四舍五入并添加数字标点符号,javascript,jquery,numbers,roundup,Javascript,Jquery,Numbers,Roundup,我有一支钢笔: 我不太明白如何把数字四舍五入,这样你就不会弄坏标点符号了。我需要把数字四舍五入,因为我不想看到像33333,333这样的值 //ADDS PUNCTUATION EVERY THREE CHARACTERS $('input.numericpunctuation').keyup(function(event){ var oNum= $(this).val(); // USE THIS NUMBER FOR CALCULATION var num

我有一支钢笔:

我不太明白如何把数字四舍五入,这样你就不会弄坏标点符号了。我需要把数字四舍五入,因为我不想看到像33333,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,"$1,").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,就是期望看到(并且确实看到)5555。然而,如果我加上5555.55,我得到5555.55。理想情况下,我想把数字四舍五入,去掉小数点

问题不仅仅在于小数,输入非数字也会导致格式错误,例如,单击
King Kong
将导致
Kin,g K,ong
。因此,您可能希望过滤掉非数字,这可以通过更改行
var oNum=$(this.val()至:

var oNum= $(this).val().match(/\d/g).join('');

match
函数中的值是一个RegEx对象-如果您以前从未使用过它,那么恭喜您

胭脂!=流氓。一个是红色的,另一个是迷路的。我不明白这个问题。您能否为这些输入添加样本输入以及当前和预期输出?另外,请注意,如果文本在编辑过程中不断变化,那么以这种形式编辑任何内容都会非常令人沮丧。这与功能没有多大关系,但要感谢拼写检查。如果我输入5555,预计会看到5555。然而,如果我加上5555.55,我得到5555.55。理想情况下,如果你想把数字四舍五入去掉小数点。使用库是一种选择吗?谢谢你的回答,我真的很感谢你的时间。快到了。如果我输入10000.33,我得到1000033。我希望完全丢失十进制数字,这样它们就不会扭曲数字。有什么想法吗?你确定吗?我用你的笔试过问题中的代码,用我的建议编辑,效果很好,你能再检查一下吗?好的。是的,我明白你的意思。我猛击5555.333,看到了5555333。但我一直在小数点后打字。是的,你是对的,这是有效的。非常感谢。