我有javascript等式:
var sbal=pfWeight-gWeight-adjm;
$("#result").html(sbal.toFixed(5));
如果结果为0,我将结果CSS颜色分配为绿色。 如果它不是0,我将CSS颜色红色分配给结果。
我的问题是有时数学出现为-0,因此显示为红色。
我甚至尝试过
if(sbal===0){sbal=parseInt(0);}
sbal === 0返回true。
我该如何解决这个问题?
我知道Are +0 and -0 the same?解决了WHY -0 = +0但它没有提供和回答如何解决问题。
答案 0 :(得分:1)
如果您唯一的问题是它有时会返回-0,您只需计算返回值的绝对值
Math.abs(-0); // 0
编辑: Javascript有一个奇怪的浮点数舍入:如果你对结果进行综合,它可以正常工作,那么你就不需要Math.abs(-0)。正如所指出的那样,-0和0应该是相同的值。
这对我有用:
var sbal = Math.ceil(pfWeight - gWeight - adjm);