Linux Shell编程

CGQXYC 2010-09-29 11:52:50
(1)写一个脚本文件printnumber,该脚本运行时带一个数值参数,参数可包含小数部分。具体要求如下:
1、如果命令行格式不符合要求,应有错误提示信息。
2、小数点前从个位数起每三为作为一节,节与节之间应该有逗号分开,如下所示:
$printnumber 1234625
1,234,625
$printnumber 123462532.433
123,462,532.433
(2)应能处理负数
...全文
194 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cszdm 2010-10-09
  • 打赏
  • 举报
回复
汗啊。。。
mars199 2010-09-30
  • 打赏
  • 举报
回复
肥脸助纣为虐
justkk 2010-09-30
  • 打赏
  • 举报
回复
哦 我对正则表达式也是很懵懂 呵呵
steptodream 2010-09-30
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 justkk 的回复:]

+后面的竖线|表示什么?
[/Quote]
表示或者没有
justkk 2010-09-30
  • 打赏
  • 举报
回复
+后面的竖线|表示什么?
steptodream 2010-09-30
  • 打赏
  • 举报
回复
突然想起了printf!

#!/bin/sh
test $# -eq 1 || { echo "Usage:$0 number";exit 1; }
if echo $1 | egrep -q "^[0-9]+(\.[0-9]+|)$"
then
echo "$1 is a number";
printf "%'f\n" $1
else
echo "Usage:$0 number"
fi
steptodream 2010-09-30
  • 打赏
  • 举报
回复

#!/bin/sh
test $# -eq 1 || { echo "Usage:$0 number";exit 1; }
if echo $1 | egrep -q "^[0-9]+(\.[0-9]+|)$"
then
echo "$1 is a number";
else
echo "Usage:$0 number"
fi

3位分隔 没想到好方法。
masmaster 2010-09-30
  • 打赏
  • 举报
回复
结帖率:0.00%
cr4315 2010-09-30
  • 打赏
  • 举报
回复
哪个学校的?
cr4315 2010-09-30
  • 打赏
  • 举报
回复
好像是老师布置的作业。。。
justkk 2010-09-30
  • 打赏
  • 举报
回复
感觉设置一个环境变量就行
就是千分符分隔显示数字
想不起来是哪个,先占位..
louyong0571 2010-09-30
  • 打赏
  • 举报
回复
看起来像老师布置的作业,不替写作业

18,773

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧