angular 数字逗号分隔_angular 实现的输入框数字千分位及保留几位小数点功能示例...
摘要:這篇AngularJS欄目下的“angular 實(shí)現(xiàn)的輸入框數(shù)字千分位及保留幾位小數(shù)點(diǎn)功能示例”,介紹的技術(shù)點(diǎn)是“angular、保留幾位小數(shù)、千分位、小數(shù)點(diǎn)、輸入框、示例”,希望對(duì)大家開(kāi)發(fā)技術(shù)學(xué)習(xí)和問(wèn)題解決有幫助。
本文實(shí)例講述了angular 實(shí)現(xiàn)的輸入框數(shù)字千分位及保留幾位小數(shù)點(diǎn)功能。分享給大家供大家參考,具體如下:
網(wǎng)上查到一個(gè)關(guān)于千分位的指令,我稍微做了點(diǎn)完善,通用指令代碼
myApp.directive('price', function($parse) {
return {
link: function (scope, element, attrs, ctrl) {
//控制輸入框只能輸入數(shù)字和小數(shù)點(diǎn)
function limit(){
var limitV=element[0].value;
limitV=limitV.replace(/[^0-9.]/g,"");
//處理0開(kāi)頭的整數(shù)
if ((/^0+[0-9]+$/).test(limitV)) {
limitV=limitV.replace(/\b(0+)/gi,"");
}
//限定小數(shù)點(diǎn)后的位數(shù)
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();
}
//對(duì)輸入數(shù)字的整數(shù)部分插入千位分隔符
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傳的是小數(shù)點(diǎn)后保留幾位,默認(rèn)不傳保留2位
PS:這里再為大家推薦幾款在線計(jì)算工具供大家參考使用:
希望本文所述對(duì)大家AngularJS程序設(shè)計(jì)有所幫助。
總結(jié)
以上是生活随笔為你收集整理的angular 数字逗号分隔_angular 实现的输入框数字千分位及保留几位小数点功能示例...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 多生产者_通知:生产者补贴!打卡时间!定
- 下一篇: 华字后面配什么字比较好_女孩叫华什么名字