2016-09-28 32 views
-2

的Javascript计算怎样才能确保我没有得到一个负数出这个代码:没有负数

function reduction() { 
    ctrlreduct.setValue(Number(ctrl1.getValue()) + Number(ctrl2.getValue()) - Number(ctrl3.getValue())); 
}; 

我想任何负数默认为零。如果决定

+3

'Math.max(0 ,x)'? – Bergi

+0

我猜'getValue'应该做解析和'setValue'应该做夹紧。不需要将逻辑放入'reduction'和所有其他使用这些值的函数中。 – Bergi

回答

0

只是要一个...

if ((ctrlreduct.setValue(Number(ctrl1.getValue()) + Number(ctrl2.getValue()) - Number(ctrl3.getValue()))) < 0) 
    { 
     ctrlreduct.setValue(0) ; 
    } 
+0

这使得'ctrlreduct.setValue()'返回值的一个很大的假设。更安全的做第一个计算 – charlietfl

+0

我实际上已经尝试了两种方式,并且当值支持它时它仍然返回一个负数。 – hvilberg

+0

是的,如果你看他的问题,他就是这样调用函数的方式。 我不知道他在那里做了什么;) – MagiciaN

0

好了,我现在有一些作品:

function reduction() { 
var test = (Number(ctrl1.getValue()) + Number(ctrl2.getValue()) - Number(ctrl3.getValue())); 
ctrlreduct.setValue(Math.max(0,test)); 
}; 

Thx的帮助:)