bash 不支持浮点运算,如果需要进行浮点运算,需要借助bc,awk 处理
1、借助bc处理示例:计算5.01-4*2.0,得到的结果为-2.99
$ c=$(echo "5.01-4*2.0"|bc)$ echo $c
2、借助awk处理示例:计算7.01*5-4.01,得到的结果为31.05
$ c=$(awk 'BEGIN{print 7.01*5-4.01 }')$ echo $c
注:在shell 中$() 与 ``等效。 中间包含命令语句执行,返回执行结果。
linux shell本身只是一个脚本语言,使用 *** 作系统的命令或已安装的程序进行运算。你出的题咋一看有难度,实际上是个伪命题,只要有个已经安装好的支持高精度浮点运算的支持外部调用的计算器程序,写个shell实现这个命题太简单了。如果只是依赖 *** 作系统内置的计算器,那就复杂很多。需要考虑把数字转成文本,进行截断后,再转成数字,分段进行计算,然后再将结果进行组合,最终结果需要以文本方式输出,理论上也可以实现。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)