本文實例講述了angular 實現(xiàn)的輸入框數(shù)字千分位及保留幾位小數(shù)點功能。分享給大家供大家參考,具體如下:
網(wǎng)上查到一個關于千分位的指令,我稍微做了點完善,通用指令代碼
myApp.directive('price', function($parse) { return { link: function (scope, element, attrs, ctrl) { //控制輸入框只能輸入數(shù)字和小數(shù)點 function limit(){ var limitV=element[0].value; limitV=limitV.replace(/[^0-9.]/g,""); //處理0開頭的整數(shù) if ((/^0+[0-9]+$/).test(limitV)) { limitV=limitV.replace(/\b(0+)/gi,""); } //限定小數(shù)點后的位數(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(); } //對輸入數(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<array.length;i++){ returnV+="."+array[i]; } element[0].value=returnV; $parse(attrs['ngModel']).assign(scope, formatV); } scope.$watch(attrs.ngModel,function(){ limit(); }) } }; })
html代碼的引用,digits傳的是小數(shù)點后保留幾位,默認不傳保留2位
<input ng-model="money" price digits="1"/>
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實現(xiàn)的輸入框數(shù)字千分位及保留幾位小數(shù)點功能示例-創(chuàng)新互聯(lián)
當前鏈接:http://www.chinadenli.net/article34/iggpe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、品牌網(wǎng)站設計、靜態(tài)網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站設計公司、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容