angularjs表达式计算出错

正常情况应该显示29%,实际显示28.999999999999996%

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <link rel="stylesheet" href="//apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.min.css">
</head>
<body ng-app="myApp" ng-controller="userCtrl">
    <script src="//apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>

    <div>{{rate*100}}%</div>

    <script>
        angular.module('myApp', []).controller('userCtrl', function ($scope) {
            $scope.rate= 0.29;
           
        })

    </script>

</body>
</html>

js 数字运算机制就这样,详情可以看https://www.runoob.com/w3cnote/js-precision-problem-and-solution.html

应该是angularjs表达式的小数位数不固定,要加过滤器如"|number:2"

parseInt 一下,试试