当前位置:  开发笔记 > 编程语言 > 正文

在javascript中将float转换为int的最快方法?

如何解决《在javascript中将float转换为int的最快方法?》经验,为你挑选了2个好方法。

让我说我有x = 12.345.在javascript中,哪个函数floatToInt(x)有最快的运行时间floatToInt(12.345)返回12



1> Hunterrex..:

好问题!前几天我实际上不得不处理这件事!它可能看起来像只是写parseInt,但等待!我们可以发烧友.

所以我们可以使用位运算符来完成很多事情,这看起来很棒!假设我有你问题中的数字,12.345,我可以使用位运算符'〜'来反转你的数字中的所有位,并在此过程中将数字转换为int!得爱JS.

所以现在我们有我们数字的倒位表示然后如果我们再次得到........ 鼓声 .........我们的数字没有小数!不幸的是,它没有做四舍五入.

var a = 12.345;
var b = ~~a; //boom!

我们可以使用Math.round().但是你去!您可以在JSperf上试一试,看看你获得的速度有多快!希望有所帮助!


@Bergi - 我看到了关于设置代码的观点.我把它更改为只分配给`resultArray`所以`testNumbers`数组永远不会受到干扰所以不需要`.slice()`它总是在随机数上运行:https://jsperf.com/float-to -int转换对比/ 30.

2> Firefog..:

这是我认为的一个很好的例子

var intvalue = Math.floor( floatvalue );
var intvalue = Math.ceil( floatvalue ); 
var intvalue = Math.round( floatvalue );

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有