linux下的浮点数运算shell实现浮点数运算

  • awk实现浮点数运算
  • bc实现浮点数运算

awk实现浮点数运算

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。

主要部分 awk ‘{printf “%0.8f\n”, $1/$2}’
使用printf实现小数点后数值的保留。
0.8f保留小数点后8位 。
$1/$2表示传入的当前行的第一个数据除以第二个数据。
例如

相除

v=$(echo $a $b|awk '{printf "%0.4f\n", $1/$2}')
v=`echo $a $b|awk '{printf "%0.4f\n", $1/$2}'`
#表示a/b,保留4位小数

相加

while read v1 v2
dov=$(echo $a $b|awk '{printf "%0.4f\n", $1+$2}') >> result.txt
done < count.txt
从count.txt逐行读取数据,逐行将第一列第二列相加并将结果追加到result.txt中。

相除,可复制运行查看结果

a=1
b=3
v=$(echo $a $b|awk '{printf "%0.8f\n", $1/$2}')
echo "$a / $b = $v"

进行大量计算时,使用awk效率较高

bc实现浮点数运算

使用bc命令需要主机已有bc命令。使用bc指令默认不指定scale,默认为0
scale表示保留的小数点后位数。
若操作数的小数位数大于scale,
例如:

a=1.1111111
b=2
b1=$(echo "scale=2;$a/$b"|bc)
#作用相同
b1=`echo "scale=2;$a/$b"|bc`    #输出的小数位数以a为准

可运行查看

a=2.111
b=2
b1=$(echo "scale=2;$a/$b"|bc)
b2=$(echo "$a/$b"|bc)
b3=$(echo "scale=6;$a/$b"|bc)
echo $b1 $b2 $b3
#结果为 1.05 1 1.055500

当相除结果小于1时,小数点前的0会省略,使用字符拼接0即可

a=2.111
b=5
b1=$(echo "scale=2;$a/$b"|bc)
b2=$(echo "$a/$b"|bc)
b3=$(echo "scale=6;$a/$b"|bc)
echo $b1 $b2 $b3
#结果为 .42 0 .422200b4=`echo 0$b3`
echo $b4
#结果为0.422200

shell中实现浮点数运算相关推荐

  1. shell中的浮点数运算之bc命令简介

    在shell中,当我们进行浮点数的运算,特别是用于浮点数间的比较大小时,往往会出现一些问题,这里使用bc命令,帮你解决困难 它的一般格式: var=`echo "option1;option ...

  2. shell中的算数运算

    shell中的算数运算 首先这里所说的算术运算是指加法(+), 减法(-),乘法(*),整除(/), 求余(%)四种运算,可以通过添加括号改变优先级,并且只能对整数进行运算(Linux Bash Sh ...

  3. linux shell数学计算器,技术|使用 GNU bc 在 Linux Shell 中进行数学运算

    在 shell 中使用 bc 更好地做算数,它是一种用于高级计算的数学语言. 大多数 POSIX 系统带有 GNU bc,这是一种任意精度的数字处理语言.它的语法类似于 C,但是它也支持交互式执行语句 ...

  4. linux中bc用法英文,使用GNU bc在Linux Shell中进行数学运算

    在 shell 中使用 bc 更好地做算数,它是一种用于高级计算的数学语言. 大多数 POSIX 系统带有 GNU bc,这是一种任意精度的数字处理语言.它的语法类似于 C,但是它也支持交互式执行语句 ...

  5. Python中关于浮点数运算的不确定尾数的解释

    一.浮点数类型 与数学中实数概念一致,带有小数点及小数的数字.浮点数取值范围和小数精度都存在限制,但常规计算可忽略. 取值范围数量级约-10308到10308,精度数量级10-16. 二.浮点数运算的 ...

  6. python减法精确度不准是什么问题,聊聊Python中的浮点数运算不准确问题

    大家好,老 Amy 来了.之前就意识到一个问题,但是最近又有朋友提出来了,所以就想着干脆记录下来,分享给大家叭~ 啥问题呢?请看题: 也就是说,需要大家计算1.1-1的值,很多朋友会说:"e ...

  7. shell中的数学运算

    一.shell中支持的算术 算术运算符 说明/含义 +.- 加法(或正号).减法(或负号) *./.% 乘法.除法.取余(取模) ** 幂运算 ++.– 自增和自减,可以放在变量的前面也可以放在变量的 ...

  8. linux shell中小数的运算

    对于在Shell中进行小数数字的计算,其实方法有很多,但是常用的方法都有其弱点: 1.bc bc应该是最常用的Linux中计算器了,简单方便,支持浮点. root@localhost:~# echo ...

  9. 关于JS中的浮点数运算

    文章目录 浮点数的存储 浮点数的运算 如何解决 参考 更新:2020/08/21--如何避开JavaScript浮点数计算精度问题(如0.1+0.2!==0.3)讲的很全面 这篇文章起于「查缺补漏」送 ...

最新文章

  1. SAP LSMW 导入物料主数据报错 - You have not fully maintained the descriptions - 之分析
  2. Lucene学习总结之七:Lucene搜索过程解析
  3. 设计模式:单例模式的写法(基础写法和线程安全写法)
  4. vb 窗体html表格,VB.Net – 高级表格
  5. [剑指offer]面试题第[67]题[Leetcode][JAVA][第8题] 字符串转换整数 (atoi)[字符串]
  6. 字符串数组的排序c++_Java——数组相关知识点及练习演绎
  7. c#养老院老人信息管理系统源码 论文_[源码和文档分享]基于JSP和MYSQL实现的学生信息管理系统...
  8. JAVA面试要点002_Git中fetch和pull的区别
  9. Install Rouge and Pyrouge for python 2.7 (conda virtual env) on Linux 64
  10. 如何使用记事本编译并运行Java源代码
  11. 针式打印机打印显示传真服务器,针式打印机三联纸怎么设置 点击上面的工具栏上的打印服务...
  12. python怎么算积分_Python求解数值积分-定积分求解
  13. go-http server使用hijack接管连接的管理
  14. OSChina 周五乱弹 —— 回家切记关机
  15. SOLIDWORKS如何建立基准面
  16. RC低通滤波原理(笔记)
  17. 【汇正财经】红筹股和H股有什么区别?
  18. iOS 内存泄漏检测 Instruments Leaks
  19. 美的地产竞得石家庄50亩地块 美的布局开始
  20. 英译汉在线翻译器如何实现英文语音翻译中文

热门文章

  1. Andersen Global宣布在沙特扩大业务
  2. python urllib
  3. 酒店服务管理系统的开发与设计
  4. win10 Docker及klee的安装
  5. linux云计算架构师:Rsync+sersync实现数据实时同步
  6. Vue重构项目完结篇
  7. java 数组批量赋值_JAVA中数组赋值问题
  8. 原来OPPO手机的语音翻译这么好用!以前都不知道,真的是浪费了
  9. 打开西部互联网金融市场,玖富选择先笼络创业者们
  10. 2020-09-16莫安迪摄影作品-中山公园晚霞