gpt4 book ai didi

javascript - toFixed() 替换函数

转载 作者:行者123 更新时间:2023-12-02 05:10:00 27 4
gpt4 key购买 nike

<分区>

我注意到很多人在使用 javascript 中的 toFixed() 方法时遇到问题。

我自己有一个网站在 IE7 和 FireFox 4.x 中表现不佳。

我终于发现问题出在 toFixed() 方法上。它似乎在某些浏览器中返回一个字符串,而在其他浏览器中不返回 - 它似乎无法预测。

我决定只扩展原型(prototype)对象并创建我自己的方法,而不是每次使用此方法时都必须执行相同的 parseFloat/integer 操作。

使用此方法,您可以四舍五入到任意小数位,并且可以指定要使用的四舍五入类型:floor、ceil 或 null 以使用标准四舍五入(round)。

代码:

     // a replacement for the toFixed() function in javascript

Number.prototype.trimNum = function(places,rounding){

var places,result,num = parseFloat(this),multiplier = Math.pow( 10,places );

try {
result = Math[rounding](num * multiplier) / multiplier;
} catch(e){
result = Math.round(num * multiplier) / multiplier;
}

return Number( result );
}

用法:

mynumbervar.trimNum(2,'floor') 使用 floor 进行舍入

mynumbervar.trimNum(2,'ceil') 使用 ceil 进行舍入

mynumbervar.trimNum(2) 使用 round 进行舍入

当然这里的数字“2”就是要保留的小数位数。

我已经在 PC 和 Mac 上的 IE、Safari、Chrome 和 FireFox 中对其进行了测试,它似乎对我来说运行良好。

我希望这可以帮助其他人避免我遇到的 toFixed() 问题......

有谁知道这有什么问题或有什么改进建议吗?

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com