此公式验证没有问题,但是
在运行报表时却报错:
改成 if($a==1,eval($asc), 0 - eval($asc))
或者if($a==1,eval($asc), - (eval($asc)) )
或者if($a==1,eval($asc), -1* eval($asc))
都是可以正常运行的。。。 这是什么鬼?
根据四则运算优先率,没有加括号,默认就是前面减后面,而没有第1个参数就会出错,反之你下面三个都符合要求
eval($abc)返回的是一个字符结果,直接符号会出错
通过运算可以将数字型的字符转化为数字
比如你写公式:-'1',也会出现一样的错
但是0-'1'就不会出错,直接在前加-号是求相反数,如果是字符型就会出错,而0-'1'则是减法运算,只要是数字的都可以