当前位置: 首页 > 编程笔记 >

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

朱渝
2023-03-14
本文向大家介绍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<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.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程序设计有所帮助。

 类似资料:
  • 本文向大家介绍js实现千分符和保留几位小数的简单实例,包括了js实现千分符和保留几位小数的简单实例的使用技巧和注意事项,需要的朋友参考一下 js实现千分符转化 使用var amount = fmoney(123456.78,2); console.log(amount); 结果:123,456.78 以上这篇js实现千分符和保留几位小数的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考

  • 本文向大家介绍JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去,包括了JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去的使用技巧和注意事项,需要的朋友参考一下 前端开发中经常会碰到用 JavaScript?格式化数字,最最常见的是格式化金额,一般格式化金额需要千分位分隔,保留2位小数等等。 简单的功能函数 类似的代码网上有很多: 或者 更加完善的功能函数

  • 本文向大家介绍js 实现数值的千分位及保存小数方法(推荐),包括了js 实现数值的千分位及保存小数方法(推荐)的使用技巧和注意事项,需要的朋友参考一下 实例如下: 以上这篇js 实现数值的千分位及保存小数方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍实现js保留小数点后N位的代码,包括了实现js保留小数点后N位的代码的使用技巧和注意事项,需要的朋友参考一下 在JS中,一般实现保留小数点后N位的话,都是利用toFixed函数 四舍五入的转换函数,如下: 参数里的: v表示要转换的值 e表示要保留的位数 函数里的两个for,这个是重点了, 第一个for针对小数点右边的情况,也就是保留小数点右边多少位; 第二个for针对小数点左边的情

  • 本文向大家介绍JS实现保留n位小数的四舍五入问题示例,包括了JS实现保留n位小数的四舍五入问题示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现保留n位小数的四舍五入问题。分享给大家供大家参考,具体如下: 更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript中json操作技巧总结》、《JavaScript

  • 本文向大家介绍jQuery实现简易的输入框字数计数功能示例,包括了jQuery实现简易的输入框字数计数功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现简易的输入框字数计数功能。分享给大家供大家参考,具体如下: 运行效果图如下: 具体代码如下: PS:这里再为大家提供几款带有字数统计功能的在线工具供大家参考使用: 在线字数统计工具: http://tools.jb51