shell中将字符串转换成数字

我有一个字符串“96.56”,怎样才能将它转换成一个小数,或者是一个整数96也行。 


shell中无需转换,可以直接用作数字。

转换成整数:

# echo "96.56"| awk '{print int($0)}'
96
追问
那如果我要将“.21”(这是从文件中读出来的,表示0.21)拿来与1比较大小,写在if判断中,我该怎么做?
追答

shell中的test语句只能用于整数判断,要判断小数用awk吧,awk中是C语言环境:

var=.21
var="0"$var
echo $var | awk '{if($0 < 1) print "Less than 1"; else print "No less than 1"}'

shell的字符串和数字的转化(数字自动做字符串处理,变量名做字符串输出用单引号)

shell里面怎么样把字符串转换为数字?
例如:a="024"

1,用${{a}}

2,用let达到(()) 运算效果。

let num=0123;
echo $num; 
83

3,双括号运算符:

a=$((1+2));

echo $a;

等同于:

a=`expr 1 + 2`

 


而数字会默认做字符串处理

变量用单引号''变字符串

i=1

echo '$i';

输出:$1


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值