1 javascript floating-point max
我正在尝试规范化数据,并意识到它不起作用,因为我得到了不正确的最大值.但是,数字的比较无法正常工作.这是我的代码:
var max = Number.MIN_VALUE;
var min = Number.MAX_VALUE;
for (i = 0; i < array.length; i++)
{
if(array[i]>max)
{
max = array[i];
}
}
for (i = 0; i < array.length; i++)
{
if(array[i]<min)
{
min = array[i];
}
}
console.log("max: " + max);
console.log("min: " + min);
for (i = 0; i < array.length; i++)
{
if(array[i]!=0)
{
if(array[i]>max)
{
console.log(i+": " + array[i] + " yes");
}
else
{
console.log(i+": " + array[i] + " no " + max);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到了很多控制台输出,但这是一个例子:
241590: 17.5799 no 9.86874
Run Code Online (Sandbox Code Playgroud)
意思是由于某种原因,JS认为17.5799不大于9.86874.为什么会发生这种情况,我该怎么做才能解决这个问题?谢谢!
编辑1:当打印数组[i] - 最大时,我最终得到正确的差异......除了它是否定的.