美文网首页全栈笔记常规的一些js处理自定义方法
toFixed()和Math.round()及保留两位小数

toFixed()和Math.round()及保留两位小数

作者: MAYDAY77 | 来源:发表于2019-01-17 19:15 被阅读148次

    一、toFixed()

    1、toFixed并非四舍五入,而是四舍六入,是银行家的舍入规则。

    2、四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。

    (0.356).toFixed(2)=0.36
    (0.355).toFixed(2)=0.36
    (0.3451).toFixed(2)=0.35
    (0.3450).toFixed(2)=0.34

    二、Math.floor()

    1、向下取整,不管超过5不超过5,都要舍去。

    Math.floor(1.4)=1
    Math.floor(1.6)=1

    三、Math.ceil()

    1、向上取整,不管超过5不超过5,都向上取整。

    Math.ceil(1.4)=2

    Math.ceil(1.6)=2

    四、Math.round()

    1、是真正意义上的四舍五入。

    Math.round(1.4)=1
    Math.round(1.6)=2

    五、保留两位小数

    1、无论整数还是小数都保留两位小数,遵循四舍五入原则。

    changeTwoDecimal_f(100)=100.00
    changeTwoDecimal_f(100.333)=100.33
    changeTwoDecimal_f(100.335)=100.34

    function changeTwoDecimal_f(x) {

    var f_x =parseFloat(x);

        if (isNaN(f_x)) {

    alert('function:changeTwoDecimal->parameter error');

            return false;

        }

    var f_x = Math.round(x *100) /100;

        var s_x = f_x.toString();

        var pos_decimal = s_x.indexOf('.');

        if (pos_decimal <0) {

    pos_decimal = s_x.length;

            s_x +='.';

        }

    while (s_x.length <= pos_decimal +2) {

    s_x +='0';

        }

    return s_x;

    }

    相关文章

      网友评论

        本文标题:toFixed()和Math.round()及保留两位小数

        本文链接:https://www.haomeiwen.com/subject/neqwdqtx.html