【问题标题】:add decimal point and thousand separator in to textbox在文本框中添加小数点和千位分隔符
【发布时间】:2020-08-20 22:26:28
【问题描述】:

我想在我的文本框中添加千位分隔符和小数点。

我也在使用下面的指令

.directive('format', function ($filter) {
    'use strict';

    return {
        require: '?ngModel',
        link: function (scope, elem, attrs, ctrl) {
            if (!ctrl) {
                return;
            }

            ctrl.$formatters.unshift(function () {
                return $filter('number')(ctrl.$modelValue);
            });

            ctrl.$parsers.unshift(function (viewValue) {
                var plainNumber = viewValue.replace(/[\,\.]/g, ''),
                    b = $filter('number')(plainNumber);

                elem.val(b);

                return plainNumber;
            });
        }
    };
})

这是我的Demo

我需要修改它。 当用户输入 500,000 时,应该是 500,000.00 用户也可以输入5000.50。

我如何修改这个,你能帮忙

【问题讨论】:

    标签: javascript jquery angularjs


    【解决方案1】:

    将小数点置于用户控制之外。

    num = 599993863737
    num = str(num).replace('.','')
    num = float(num[:len(num)-2]+'.'+num[-2:])
    
    
    print(num)
    5999938637.37
    

    【讨论】:

      【解决方案2】:

      您可以使用toFixed()regex

      function currency(el){
        a = parseFloat(el.value);
        a = a.toFixed(2);
        a=a.toString();       
        var b = a.replace(/[^\d\.]/g,'');
        var dump = b.split('.');
        var c = '';
        var lengthchar = dump[0].length;
        var j = 0;
        for (var i = lengthchar; i > 0; i--) {
                j = j + 1;
                if (((j % 3) == 1) && (j != 1)) {
                        c = dump[0].substr(i-1,1) + ',' + c;
                } else {
                        c = dump[0].substr(i-1,1) + c;
                }
        }
      
        if(dump.length>1){
                if(dump[1].length>0){
                        c += '.'+dump[1];
                }else{
                        c += '.';
                }
        }
        console.log(c);
      }
      <input type='text' onkeyup='currency(this)'>

      【讨论】:

        猜你喜欢
        • 2013-09-02
        • 2021-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-13
        • 2023-04-07
        • 1970-01-01
        相关资源
        最近更新 更多