算术与变量

时间:2014-05-15 13:41:19

标签: bash math

我需要用bash执行一些arithemic。就像这样

VariableA = (VariableB-VariableC) / 60

Variable A应近似为2位小数

我不知道其中哪一个是正确的答案(不要手头有一台linux服务器来测试)

VariableA = $((VariableB-VariableC)/60)

VariableA = $(((VariableB-VariableC)/))/60)

如果有人也可以帮我解决如何将VariableA舍入到2位小数而不使用第三方工具(如bc

1 个答案:

答案 0 :(得分:2)

bash本身只能计算整数值,所以如果你需要使用固定的小数位数,你可以改变你的小数点(就像用美分而不是美元或欧元计算)。然后,只有在输出时,您需要确保在您的号码的最后两位数之前有.

a=800
b=300
result=$((a*100/b))  # factor 100 because of division!
echo "${result:0:-2}.${result: -2}"

将打印2.66

如果你想在浮点数中进行计算,你应该使用像bc这样的工具来为你做这些:

bc <<<'scale=2; 8.00/3.00'

将打印出2.66