0

编写一个单行脚本将任意两个数字相乘。

面试官在找什么?

回声 $a * $b

这足够了吗?

4

7 回答 7

8

在 bash 和其他一些 shell 中,它很简单:

echo $(( $a * $b ))
于 2012-10-18T11:54:55.613 回答
3

我会做这样的事情,expr 评估是在固定宽度的整数上完成的,所以如果数字不是整数,这将无济于事。

echo 'mult 12.3 5.6' | awk '{ printf("%.4f\n", $2*$3);}'

此外,您还可以使用 c 样式的 printf 轻松格式化结果。

于 2012-09-17T06:30:10.717 回答
1

不。使用bc,或类似的东西expr 2 \* 3。如果您不转义星号,它将具有其通常的“小丑”含义。

于 2012-09-17T06:23:54.433 回答
1

这只适用于小数字,我认为是 16 位有符号非浮点数。您可以使用 bc,“一种任意精度的计算器语言”。

echo "$a * $b" | bc
于 2012-09-17T06:24:39.847 回答
1

不,您需要使用bc

echo "$a * $b" | bc
于 2012-09-17T06:24:41.550 回答
0

我看到使用 Unix 命令将两个数字相乘的最简单方法之一可能是:

回声expr $a \* $b

于 2015-07-10T08:46:03.390 回答
0

你可以这样尝试:

$ echo -e $(($myVar * $anyVar))

注意:除非需要,否则不需要使用用于浮点表示的 bc

于 2019-02-03T14:35:58.440 回答