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

时间:2015-12-03 22:28:22

标签: javascript performance casting numbers

我们说x = 12.345。在javascript中,哪个函数floatToInt(x)的运行时间最短,floatToInt(12.345)返回12

4 个答案:

答案 0 :(得分:7)

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

所以我们可以使用位运算符来处理很多事情,这看起来很棒!让我们说我的问题是12.345,我可以使用位运算符'〜'它会反转您号码中的所有位,并在此过程中将数字转换为int! 得爱JS。

所以现在我们有数字的反转位表示,如果我们'〜'它再次得到........ 鼓声 .........我们的数字没有小数!不幸的是,它并没有四舍五入。

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

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

答案 1 :(得分:5)

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

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

答案 2 :(得分:1)

这样做:     ~~(x + 0.5)

干杯,Z。

答案 3 :(得分:0)

算术或为零将解决问题。

> 12 === (0 | 12.245)
true