采访:Unix代码将两个数字相乘

问题描述 投票:0回答:7

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

面试官在找什么?

echo $ a * $ b

足够了吗?

unix
7个回答
7
投票

在bash以及可能还有其他一些shell中,它很简单::

echo $(( $a * $b ))

3
投票

我会做这样的事情,expr评估是对固定宽度的整数进行的,因此,如果数字不是整数则无济于事。

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

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


1
投票

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


1
投票

否,您需要使用bc

echo "$a * $b" | bc

1
投票

这只会起作用,我认为16位带符号的非浮点型数字很小。您可以使用bc,“任意精度计算器语言”。

echo "$a * $b" | bc

0
投票

您可以尝试这样:

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

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


0
投票

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

echo expr $a \* $b

© www.soinside.com 2019 - 2024. All rights reserved.