📜  bc 除法没有小数 (1)

📅  最后修改于: 2023-12-03 15:13:38.400000             🧑  作者: Mango

用 bc 进行除法运算时不会产生小数

当使用 Linux 命令行中的 bc 进行数学运算时,除法运算可能会导致没有小数的结果。

bc 是一个计算器语言,它可以进行基本的数学运算,如加、减、乘、除、幂等。

下面是一个简单的示例,在命令行中输入以下命令:

echo "10 / 3" | bc

输出结果将会是 3,而不是我们期望的 3.3333

这是因为 bc 默认的除法输出是整数,也就是只返回整数部分的结果。如果想要得到小数部分,则需要使用 scale 命令设置小数点后的位数。

例如,想要进行一个 10 除以 3 的除法运算,并保留两位小数,我们可以这样做:

echo "scale=2; 10 / 3" | bc

输出结果将会是 3.33

在这个例子中,我们使用了 scale 命令设置小数点后的位数为 2,然后进行了除法运算。这个时候,bc 将会返回带有两位小数的结果。

需要注意的是,scale 命令只在当前行有效,因此,如果想要使用除法运算得到带有小数部分的结果,需要在每一行末尾都设置 scale。例如:

echo "scale=2; 10 / 3; scale=4; 20 / 7" | bc

输出结果将会是:

3.33
2.8571

在这个例子中,我们在每一行末尾都设置了 scale 命令,并分别进行了两个除法运算。每个结果都带有它自己的小数部分。

因此,当用 bc 进行除法运算时,务必注意其默认输出结果没有小数部分,并在需要的情况下设置 scale 命令。