科学计数法的处理

<!DOCTYPE html>
<html lang="en" ng-app="app">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="../lib/bootstrap-3.3.7/css/bootstrap.min.css">
    <script src="../lib/jquery/jquery.min.js"></script>
    <script src="../lib/bootstrap-3.3.7/js/bootstrap.min.js"></script>
    <script src="../lib/angular/angular.js"></script>
    <script>
        var app = angular.module('app', []);
        app.controller('myCtrl', function ($scope) {
            //科学计数转换为小数形式控制保留位数(结果是字符串形式)
            function toNumberStr(num, digits) {
                // 正则匹配小数科学记数法
                if (/^(\d+(?:\.\d+)?)(e)([\-]?\d+)$/.test(num)) {
                    // 正则匹配小数点最末尾的0
                    var temp = /^(\d{1,}(?:,\d{3})*\.(?:0*[1-9]+)?)(0*)?$/.exec(num.toFixed(digits));
                    if (temp) {
                        return temp[1];
                    } else {
                        return num.toFixed(digits)
                    }
                } else {
                    return "" + num
                }
            }
            var str = '5.333529876E-12';
            var num=JSON.parse(str);
            var result = toNumberStr(num, 20);
            console.log(result);
        });
    </script>
</head>
<body ng-controller="myCtrl">
<div class="container">

</div>
</body>
</html>

  

posted @ 2020-08-12 17:22  sct春天  阅读(258)  评论(0)    收藏  举报