免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 19342 | 回复: 17
打印 上一主题 下一主题

[数值计算] shell脚本中带小数点的数据计算问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-07-18 15:26 |只看该作者 |倒序浏览
本帖最后由 Tao282515641 于 2013-07-18 15:34 编辑

shell脚本下计算两小数运算,一直出错,没找到问题的原因,望大侠们指点一下:

#!/bin/bash

x=1.245
y=0.476

z=$(($x+$y))
echo $z

提示错误:line 6: 1.245+0.476: syntax error: invalid arithmetic operator (error token is ".245+0.476")

当z=$x+$y时,输出1.245+0.476,并未计算。求解答……本人菜鸟

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
2 [报告]
发表于 2013-07-18 15:45 |只看该作者
  1. $ bc <<<$x+$y
复制代码

论坛徽章:
0
3 [报告]
发表于 2013-07-18 15:54 |只看该作者
回复 2# cao627

不对哦!没有输出……


   

论坛徽章:
0
4 [报告]
发表于 2013-07-18 16:10 |只看该作者
本帖最后由 秋天的絮儿 于 2013-07-18 16:12 编辑

[code]op@MaintRoom[137]:% more dd.sh
#!/bin/sh
x=1
y=5
z=$((x + y))
echo $z[code]

论坛徽章:
6
摩羯座
日期:2013-08-24 10:43:10狮子座
日期:2013-08-25 10:27:06天秤座
日期:2013-09-11 20:28:44午马
日期:2014-09-28 16:06:0015-16赛季CBA联赛之八一
日期:2016-12-19 13:55:0515-16赛季CBA联赛之天津
日期:2016-12-20 14:01:23
5 [报告]
发表于 2013-07-18 16:22 |只看该作者
@Tao282515641
  1. #!/bin/bash

  2. x=1.245
  3. y=0.476

  4. echo `bc <<<$x+$y`
复制代码

论坛徽章:
0
6 [报告]
发表于 2013-07-18 16:38 |只看该作者
回复 4# 秋天的絮儿

谢谢,不过你这是整数哦,不是小数运算。整数运算是可以的。


   

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
7 [报告]
发表于 2013-07-18 16:42 |只看该作者
回复 1# Tao282515641

awk也在行:
  1. echo $x $y |awk '{print $1+$2}'   
复制代码

论坛徽章:
0
8 [报告]
发表于 2013-07-18 16:44 |只看该作者
回复 7# 关阴月飞


    是的,awk是功能最强大的。

论坛徽章:
0
9 [报告]
发表于 2013-07-18 16:44 |只看该作者
恩,好了。非常感谢!回复 5# cao627


   

论坛徽章:
0
10 [报告]
发表于 2013-07-18 16:57 |只看该作者
恩,是的!但是还没明白,z=$(($x+$y))语句为什么不能计算小数回复 7# 关阴月飞


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP