【问题标题】:Angular, How can I show 10 as 10.00Angular,如何将 10 显示为 10.00
【发布时间】:2015-08-13 08:12:17
【问题描述】:

我有一个文本框,我想用 2 位小数显示用户输入的值, 前任。如果用户输入 10,那么我将在文本框中显示 10.00。

<input type="number" class="form-control"/>

就像这样简单,我尝试使用手表,但不确定要使用哪种方法才能达到要求。

我们是否必须在文本框输入中使用货币过滤器?

【问题讨论】:

标签: javascript angularjs math numbers rounding


【解决方案1】:

过滤器会起作用吗?您可能希望以某种延迟工作,以便表单让用户在转换数字之前完成输入,但这有效(减去延迟):

    <!doctype html>
    <html ng-app="numFilterExample">
        <head>
            <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
            <script>
                angular.module('numFilterExample',[])
            .controller('NumberFilterController', ['$scope','numberFilter',function($scope,numFilter){
                $scope.change = function(){
                    $scope.num = numFilter($scope.num,2);
                };
            }]);
        </script>
    </head>
    <body>
        <div ng-controller="NumberFilterController">
            <input ng-model='num' ng-change="change()" />
        </div>
    </body>
</html>

【讨论】:

    【解决方案2】:

    试试这个:

    <input type="number" step="0.01" ...>
    

    step 属性实际上是针对updown 按钮的递增/递减量,但它也恰好将数字的分辨率设置为浮点数小数点后的特定位数.

    【讨论】:

    • 我尝试应用它,但它没有将我添加的数字显示为固定数字,当我输入 10 时,我希望它显示为 10.00
    • 如果您希望它显示为货币,请看这里:stackoverflow.com/questions/5963158/…
    猜你喜欢
    • 1970-01-01
    • 2021-02-26
    • 2021-02-08
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多