我想在脚本中执行以下操作:
1 - ((m - 20) / 34)
我想将此操作的结果分配给另一个变量。我希望我的脚本使用浮点数学。例如,对于m = 34:
results = 1 - ((34 - 20) / 34) == 0.588
最佳答案
您可以使用bc
计算器。如果您将scale
的默认值设置为0,它将使用小数(不是二进制浮点数)进行任意精度的数学运算:
$ m=34
$ bc <<< "scale = 10; 1 - (($m - 20) / 34)"
.5882352942
-l
选项将加载标准数学库,默认比例为20:$ bc -l <<< "1 - (($m - 20) / 34)"
.58823529411764705883
然后,您可以使用printf格式化输出,如果您选择这样的话:
printf "%.3f\n" "$(bc -l ...)"
关于bash - 脚本和浮点数除法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12147040/