数学运算符无法正常工作。
var posfx = (dwidth - outwd) / 2 + (outwd - twd) + pdir + 1.5 * 14
// = 58 - 21
pdir是一个运算符(+或 - )在这种情况下它是负数。 &安培;我尝试使用“+ pdir +”
它给了我一串:“58-21”,而不是一个数字(37)。如何计算数字?
答案 0 :(得分:3)
如果需要减去,则将等式的后半部分乘以-1。
答案 1 :(得分:3)
如果pdir
是一个字符串,将其添加到数字将形成一个字符串:
> 2 + '-' + 3
'2-3'
您可以乘以1
或-1
,具体取决于pdir
的值:
... + (pdir == '+' ? 1 : -1) * 1.5 ...
答案 2 :(得分:2)
var posfx =(dwidth - outwd)/ 2 +(outwd - twd)+(pdir ==' - '? - 1:1)* 1.5 * 14
答案 3 :(得分:2)
便宜的方法是将eval()
置于其周围,但你可以做得更好。
尝试将pdir +
替换为(pdir == "-" ? -1 : 1) *
如果操作是减法,则会将以下项乘以-1
。