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

在JavaScript中将浮点数转换为整数的最佳方法是什么?

如何解决《在JavaScript中将浮点数转换为整数的最佳方法是什么?》经验,为你挑选了3个好方法。

在JavaScript中有几种不同的方法可以将浮点数转换为整数.我的问题是什么方法能提供最佳性能,最兼容,或被认为是最佳实践?

以下是我所知道的一些方法:

var a = 2.5;
window.parseInt(a); // 2
Math.floor(a);      // 2
a | 0;              // 2

我相信那里还有其他人.建议?



1> Jason Buntin..:

根据这个网站:

parseInt偶尔用作将浮点数转换为整数的方法.它非常适合该任务,因为如果它的参数是数字类型,它将首先转换为字符串,然后解析为数字...

对于将数字四舍五入为整数,Math.round,Math.ceil和Math.floor之一更可取...



2> 小智..:

来自Douglas Crockford的"Javascript:The Good Parts":

Number.prototype.integer = function () {
    return Math[this < 0 ? 'ceil' : 'floor'](this);
}

这样做是为每个Number对象添加一个方法.

然后你就可以这样使用它:

var x = 1.2, y = -1.2;

x.integer(); // 1
y.integer(); // -1

(-10 / 3).integer(); // -3



3> bcherry..:

显然双按位 - 不是最快的方法来放置一个数字:

var x = 2.5;
console.log(~~x); // 2

曾经是这里的一篇文章,现在获得404:http://james.padolsey.com/javascript/double-bitwise-not/

Google已将其缓存: http://74.125.155.132/search?q=cache:wpZnhsbJGt0J:james.padolsey.com/javascript/double-bitwise-not/+double+bitwise+not&cd=1&hl=en&ct=clnk&gl=us

但Wayback Machine节省了一天!http://web.archive.org/web/20100422040551/http://james.padolsey.com/javascript/double-bitwise-not/

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