1

相对于这个问题,我想定义BC该函数的 m4 宏:

syscmd(bc <<< "scale=6; print ARITHMETIC_OPERATION_STRING")

注意:它只是处理算术运算bc,例如:syscmd(bc <<< "scale=6; print 1.2*2") => 2.4

我猜是这样的:

define(`BC', syscmd(bc <<< "scale=6; print $1"))

但是如何在 BC 参数中扩展其他变量,例如:

define(`ONEPOINTTWO', `1.2')
define(`TWO', `2')

BC(ONEPOINTTWO*TWO)
=> 2.4

谢谢

4

1 回答 1

2
define(`BC', `syscmd(echo "scale=6; print $1" | bc)')

然后:

BC(ONEPOINTTWO*TWO)
=> 2.4
于 2014-06-17T10:19:56.953 回答