全栈笔记常规的一些js处理自定义方法

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

2019-01-17  本文已影响148人  MAYDAY77

一、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;

}

上一篇 下一篇

猜你喜欢

热点阅读