数学运算显示为字符串

时间:2013-05-29 17:16:46

标签: javascript

数学运算符无法正常工作。

var posfx = (dwidth - outwd) / 2 + (outwd - twd) + pdir + 1.5 * 14
                 //  =        58                    -         21

pdir是一个运算符(+或 - )在这种情况下它是负数。 &安培;我尝试使用“+ pdir +”

它给了我一串:“58-21”,而不是一个数字(37)。如何计算数字?

4 个答案:

答案 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