有乙個需求,需要jqgrid中所有的數字用千分位顯示
千分位替換的**到是簡單
var num = 234223423432;
var reg=/\d(?=(\d)+$)/g;
num = (num + '').replace(reg, '$&,');
問題是如何識別數字
之前改過原始碼,解決了空格的問題
在這個基礎上繼續修改
g = function (a, b, c, d, e, f)
}if(!isnan(b))(?=(\d)+$)/g;
b = (b + '').replace(reg, '$&,');
}return '" + b + ""
},
但是這個時候又出現了乙個問題,那就是有的單元格雖然是字串型別但是會取數字的名字,比如產品編號很可能就是一串數字,而b則一定是string型別,用typeof不能識別。
我仔細觀察後發現傳進來的其實是數字型別,但是jqgrid給轉化成字串了。繼續debug
g方法是在這裡呼叫的,g是ajax請求過來的原生資料,y[p]是這個單元格的列名,於是我把y[p]傳進了g方法
g = function (a, b, c, d, e, f,key)
}if(typeof e[key] == "number")(?=(\d)+$)/g;
b = (b + '').replace(reg, '$&,');
}return '" + b + ""
},
然後用e[key]就能拿到原生資料,從而判斷型別,這樣就可以了。
但是要注意,你在後台傳數字就不能用字串而必須用數字型別
js 將數字用千分位表示
在涉及到金額的情況下,一般來說,都需要用千分位的方式進行展示。更利於使用者閱讀。接下來介紹兩種常用的方案。tolocalestring 方法返回這個數字在特定語言環境下的表示字串。具體用法可檢視mdn介紹 結果 123 568.4758 function mytofixed data,n while...
數字增加千分位符
匹配input內只能輸入數字和 逗號或者說是千分位符 ps 使用千分位符時,一般只保留2位小數 如果沒有特殊說明可以用html中的 number屬性可以輸入 e e 是科學計算中的自然數 所以是可以輸入的 限制只能輸入數字 和 if this val length 1 else 數字裝千分位格式,千...
PHP 數字加千分位
number format float number int decimals 0 string number format float number int decimals 0 string dec point string thousands sep string number format ...