如何计算Linux中的浮点数?

how to compute the float nuber in Linux?

我希望计算表达式 a=0;b=0.055;echo $((a * 60 + b))

的答案

然而输出如下:

syntax error: invalid arithmetic operator (error token is ".055")

我希望输出是 0.055

当我输入:a=0;b=0.055;echo "scale=3;a * 60 + b"|bc -l

输出是:0

并输入:a=0;b=0.055;echo "scale=3;a * 60 + b"|bc

输出是:0

我该如何解决这个问题?

你们非常接近。使用 $a$b 而不是像这样只使用 a 和 b:

a=0;b=0.055;echo "scale=3; (($a * 60 + $b)*100)/100"|bc

或在这样的文件中:

test.sh

#!/bin/bash

a=0
b=0.055
result=$(echo "scale=3; (($a * 60 + $b)*100)/100" | bc)
echo $result

这应该会给你想要的结果 0.055。

参见 https://askubuntu.com/questions/217570/bc-set-number-of-digits-after-decimal-point 关于如何使用 bc

处理缩放的答案