shell 浮点数的比较
2012-09-28 09:24
148 查看
1、假设profit_loss为浮点数(当然,这里为整数也没问题的)
if [ $(echo "${profit_loss} < 0" | bc) = 1 ];then
profit_flag="亏损"
elif [ $(echo "${profit_loss} < 20" | bc) = 1 ];then
profit_flag="盈利"
else
profit_flag="大赚"
fi
2、如果earnings_rate2可能为负数时,如果不加括号括起来,则会报(standard_in) 1: parse error
earnings_rate_range=$(echo "scale=4;${earnings_rate1}-(${earnings_rate2})" | bc -l)
这里如果整数部分小于1,则可能打印.312这样的结果,如果想打印完整结果,用下面的语句
earnings_rate_range=`echo "$var1 $var2" | awk '{print $1+($2)}'`
3、浮点数比较大小
target_price=10.85
s_dq_close1=9.5
if [ $(echo "$target_price < $s_dq_close1"|bc) -eq 1 ];then
str_up="目标价小于开始价"
else
str_up="目标价大于等于开始价"
fi
if [ $(echo "${profit_loss} < 0" | bc) = 1 ];then
profit_flag="亏损"
elif [ $(echo "${profit_loss} < 20" | bc) = 1 ];then
profit_flag="盈利"
else
profit_flag="大赚"
fi
2、如果earnings_rate2可能为负数时,如果不加括号括起来,则会报(standard_in) 1: parse error
earnings_rate_range=$(echo "scale=4;${earnings_rate1}-(${earnings_rate2})" | bc -l)
这里如果整数部分小于1,则可能打印.312这样的结果,如果想打印完整结果,用下面的语句
earnings_rate_range=`echo "$var1 $var2" | awk '{print $1+($2)}'`
3、浮点数比较大小
target_price=10.85
s_dq_close1=9.5
if [ $(echo "$target_price < $s_dq_close1"|bc) -eq 1 ];then
str_up="目标价小于开始价"
else
str_up="目标价大于等于开始价"
fi
相关文章推荐
- shell比较浮点数和整数
- shell脚本中浮点数的比较
- Shell脚本处理浮点数的运算和比较实例
- Shell脚本处理浮点数的运算和比较实例
- 通过shell脚本查看python版本并比较
- 浮点数的比较(转)
- Linux-Shell脚本编程-学习-6-Shell编程-使用结构化命令-文件比较-case编程
- 【C++菜鸟问题】C++浮点数(float、double)比较、相等判断
- shell if 比较
- [shell]shell运算(数字[加减乘除,比较大小],字符串,文件)
- shell的逻辑运算符 探测文件类型 比较数值、字符串等
- awk与shell效率比较
- [shell基础]——整数比较;字符串比较;文件测试;逻辑测试符
- shell中的比较运算
- Shell语法——参数变量,测试与比较
- shell 比较运算
- [Shell] if、for、while流程语句以及整数字符串判断比较的实例详解
- shell数字和字符串比较
- PHP中两个float(浮点数)比较实例分析
- shell 脚本学习之 字符串比较