javascript - 金额,保留两位小数,四舍五入
PHP中文网
PHP中文网 2017-04-11 09:09:21
0
3
430

问题:数字要保留两位小数,但是重写toFixed,大部分数据已经可以四舍五入,但是1.005类似的数据,四舍五入之后得到的数据是1.00,其实应该是1.01,求大神指点;

Number.prototype.toFixed = function (num) {

var changenum = (Number(this * Math.pow(10, num) + 0.5) / Math.pow(10, num)).toString(); index = changenum.indexOf("."); if (index < 0 && num > 0) { changenum = changenum + "."; for (i = 0; i < num; i++) { changenum = changenum + "0"; } } else { index = changenum.length - index; for (i = 0; i < (num - index) + 1; i++) { changenum = changenum + "0"; } } return changenum;

};

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답 (3)
PHPzhong

1.005*100=100.5,Math.round四舍五入,得101再除100得1.01,能不能这样

    Peter_Zhu

    写的不大细

    将var reg = /.(d{3})d+$/;改为了var reg = /.(d{3})d*$/;
    num != Number改为num != 'number'

      迷茫
      function change(money){ if(typeof money != 'number')return -1; return (100*money).toFixed(0)/100; } console.log(change(3.005));
        최신 다운로드
        더>
        웹 효과
        웹사이트 소스 코드
        웹사이트 자료
        프론트엔드 템플릿
        회사 소개 부인 성명 Sitemap
        PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!