我需要用bash执行一些arithemic。就像这样
VariableA = (VariableB-VariableC) / 60
Variable A
应近似为2位小数
我不知道其中哪一个是正确的答案(不要手头有一台linux服务器来测试)
VariableA = $((VariableB-VariableC)/60)
VariableA = $(((VariableB-VariableC)/))/60)
如果有人也可以帮我解决如何将VariableA舍入到2位小数而不使用第三方工具(如bc
答案 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
。