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:这里再为大家推荐几款在线计算工具供大家参考使用:

在线投资理财计算器:http://tools.jb51.net/jisuanqi/touzilicai_calc

在线存款计算器:http://tools.jb51.net/jisuanqi/cunkuan_calc

科学计算器在线使用_高级计算器在线计算:http://tools.jb51.net/jisuanqi/jsqkexue

在线计算器_标准计算器:http://tools.jb51.net/jisuanqi/jsq

更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》

希望本文所述对大家AngularJS程序设计有所帮助。

本文标题: angular 实现的输入框数字千分位及保留几位小数点功能示例

本文地址: http://www.cppcns.com/wangluo/javascript/230566.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值