请考虑以下代码:
0.1 + 0.2 == 0.3 -> false
Run Code Online (Sandbox Code Playgroud)
0.1 + 0.2 -> 0.30000000000000004
Run Code Online (Sandbox Code Playgroud)
为什么会出现这些不准确之处?
我试过这段代码
function sort() {
var ary = [2, 1, 0.4, 2, 0.4, 0.2, 1.5, 1, 1.1, 1.3, 1.2, 0.2, 0.4, 0.9];
alert(ary.sort(function(a, b) {return a < b;}));
}
sort();
Run Code Online (Sandbox Code Playgroud)
但结果是
[1, 2, 2, 1.1, 0.9, 1.2, 1.5, 1, 1.3, 0.4, 0.4, 0.4, 0.2, 0.2]
Run Code Online (Sandbox Code Playgroud)
如果数组的长度很短,它就可以工作.但它不适用于长阵列.谢谢.