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


猜你喜欢

转载自blog.csdn.net/hellojoy/article/details/80391508