如何向上舍入数字并添加数字标点符号

How to round a number up and add numeric punctuation

本文关键字:数字 标点符号 添加 舍入      更新时间:2023-09-26

我有以下笔: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,"$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,预计会看到(并且确实看到)5,555。但是,如果我添加 5555.55,我会得到 5,555,.55。理想情况下,id 喜欢将数字向上舍入,删除小数。

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

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

match函数中的值是一个正则表达式对象 - 如果你以前从未使用过它,那么恭喜你!