让我说我有x = 12.345
.在javascript中,哪个函数floatToInt(x)
有最快的运行时间floatToInt(12.345)
返回12
?
好问题!前几天我实际上不得不处理这件事!它可能看起来像只是写parseInt,但等待!我们可以发烧友.
所以我们可以使用位运算符来完成很多事情,这看起来很棒!假设我有你问题中的数字,12.345,我可以使用位运算符'〜'来反转你的数字中的所有位,并在此过程中将数字转换为int!得爱JS.
所以现在我们有我们数字的倒位表示然后如果我们再次得到........ 鼓声 .........我们的数字没有小数!不幸的是,它没有做四舍五入.
var a = 12.345; var b = ~~a; //boom!
我们可以使用Math.round().但是你去!您可以在JSperf上试一试,看看你获得的速度有多快!希望有所帮助!
这是我认为的一个很好的例子
var intvalue = Math.floor( floatvalue ); var intvalue = Math.ceil( floatvalue ); var intvalue = Math.round( floatvalue );