angular 数字逗号分隔_angular 实现的输入框数字千分位及保留几位小数点功能示例...
摘要:這篇AngularJS欄目下的“angular 實現的輸入框數字千分位及保留幾位小數點功能示例”,介紹的技術點是“angular、保留幾位小數、千分位、小數點、輸入框、示例”,希望對大家開發技術學習和問題解決有幫助。
本文實例講述了angular 實現的輸入框數字千分位及保留幾位小數點功能。分享給大家供大家參考,具體如下:
網上查到一個關于千分位的指令,我稍微做了點完善,通用指令代碼
myApp.directive('price', function($parse) {
return {
link: function (scope, element, attrs, ctrl) {
//控制輸入框只能輸入數字和小數點
function limit(){
var limitV=element[0].value;
limitV=limitV.replace(/[^0-9.]/g,"");
//處理0開頭的整數
if ((/^0+[0-9]+$/).test(limitV)) {
limitV=limitV.replace(/\b(0+)/gi,"");
}
//限定小數點后的位數
var digits = attrs['digits']?Number(attrs['digits']):2;
if (limitV*Math.pow(10,digits)%1!=0) {
var index = limitV.indexOf('.');
var last = index+digits+1;
limitV = (""+limitV).substring(0,last);
}
element[0].value=limitV;
$parse(attrs['ngModel']).assign(scope, limitV);
format();
}
//對輸入數字的整數部分插入千位分隔符
function format(){
var formatV=element[0].value;
var array=new Array();
array=formatV.split(".");
var re=/(-?\d+)(\d{3})/;
while(re.test(array[0])){
array[0]=array[0].replace(re,"$1,$2")
}
var returnV=array[0];
for(var i=1;i
returnV+="."+array[i];
}
element[0].value=returnV;
$parse(attrs['ngModel']).assign(scope, formatV);
}
scope.$watch(attrs.ngModel,function(){
limit();
})
}
};
})
html代碼的引用,digits傳的是小數點后保留幾位,默認不傳保留2位
PS:這里再為大家推薦幾款在線計算工具供大家參考使用:
希望本文所述對大家AngularJS程序設計有所幫助。
總結
以上是生活随笔為你收集整理的angular 数字逗号分隔_angular 实现的输入框数字千分位及保留几位小数点功能示例...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多生产者_通知:生产者补贴!打卡时间!定
- 下一篇: 华字后面配什么字比较好_女孩叫华什么名字