天天看點

數字增加千分位符

比對input内隻能輸入數字和","逗号或者說是千分位符;

PS:使用千分位符時,一般隻保留2位小數

如果沒有特殊說明可以用html中的

<input type="number">
           

number屬性可以輸入"e"   "e"是科學計算中的自然數 是以是可以輸入的;

/*限制隻能輸入數字 和 "," */
if ($(this).val().length == 1) {
        $(this).val($(this).val().replace(/[^1-9]/g, ''));
    } else {
        $(this).val($(this).val().replace(/\D,/g, ''));
    }
           

數字裝千分位格式,千分位格式轉回數字格式

/*千分位轉整數*/
function thousandsToNumber(str){
    str = typeof(str) == "string" ? str : str.toString();       //将傳入參數轉為字元串以做修改
    return parseFloat(str.split(",").join(""));
}



/*整數 小數 封裝千分位符*/
function numberToThousands(number, n) {	

    number = thousandsToNumber(number.toString());                      /*轉為字元串*/

    n = n == undefined || n == 0 ? 0 : n;                               //保留位數

    var num = (Math.round(number * (Math.pow(10, n))) / (Math.pow(10, n))).toString();          //保留小數位數

    var rs = num.indexOf('.');          //分離成小數部分和整數部分


    /*對不足位數的補零*/
    if (rs < 0) {
        rs = num.length;
        num += '.';
    }
    while (num.length <= rs + n) {
        num += '0';
    }

    var integer = num.split(".")[0];
    var decimal = num.split(".")[1];


    /*保留小數 不保留小數*/
    return n == 0 ? integer.toString().replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g, '$1,') : integer.toString().replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g, '$1,') + "." + decimal;



}
           

部分資源來源: http://blog.csdn.net/zyj_15067066062/article/details/72469735