本文实例讲述了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<array.length;i++){ returnV+="."+array[i]; } element[0].value=returnV; $parse(attrs['ngModel']).assign(scope, formatV); } scope.$watch(attrs.ngModel,function(){ limit(); }) } }; })
html代码的引用,digits传的是小数点后保留几位,默认不传保留2位
<input ng-model="money" price digits="1"/>
PS:这里再为大家推荐几款在线计算工具供大家参考使用:
在线投资理财计算器:
http://tools.haodaima.com/jisuanqi/touzilicai_calc
在线存款计算器:
http://tools.haodaima.com/jisuanqi/cunkuan_calc
科学计算器在线使用_高级计算器在线计算:
http://tools.haodaima.com/jisuanqi/jsqkexue
在线计算器_标准计算器:
http://tools.haodaima.com/jisuanqi/jsq
希望本文所述对大家AngularJS程序设计有所帮助。
以上就是angular 实现的输入框数字千分位及保留几位小数点功能示例。是一趟旅途,每个人都在途中,路过的都是景,擦肩的都是客,遇到的都是缘,回忆的都是念,时光如淡烟,我们抓不住,美好一瞬间,不能长久拥有,学会从过去中转身,幸福才会招待你。更多关于angular 实现的输入框数字千分位及保留几位小数点功能示例请关注haodaima.com其它相关文章!