angular 输入框数字千分位、保留几位小数点
来源:互联网 发布:网络投资与理财排名 编辑:程序博客网 时间:2024/04/27 17:04
网上查到一个关于千分位的指令,我稍微做了点完善,通用指令代码
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"/>
阅读全文
0 0
- angular 输入框数字千分位、保留几位小数点
- 小数点后保留几位有效数字
- iOS数字显示保留几位小数点
- angular限制input框输入金额(是小数的话只保留两位小数点)
- C#保留小数点几位
- js 数字格式化(千分位,保留几位小数,四舍五入)
- JAVA数值保留小数点后两位,千分位加","
- JS格式化数字,保留两位小数点
- 保留小数点后X位数字
- JS格式化数字保留两位小数点
- js数字千分位及取小数点后几位方法测试
- javascript 格式化数字 千分位加逗号小数点
- 数字格式化,格式数字保留2位小数点,格式数字自定义保留n位小数点
- Js数字千分位
- 数字千分位处理
- js实现千分符和保留几位小数
- 输入千分位格式化
- C# 千分位与两位小数点
- android Preview 中显示actionbaroverlaylayout
- wmd 源码 python实现版
- 转STM32自学系列——1.gpio(通用复用输入输出口)应用点亮LED和微动开关
- 编写一个函数reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。
- python里使用正则表达式的前向搜索或后向搜索模式
- angular 输入框数字千分位、保留几位小数点
- Java线程(九):ScheduledExecutorService、ScheduledThreadPoolExecutor
- django如何映射css,js等文件1
- jquery简单实现tab选项卡效果
- 自定义View之Paint
- js中arguments和rest使用
- oracle中count用法
- 10GBASE-T Copper Transceiver Installation Guide
- new