Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Perl中的字符串和数值

$string = "11";
$number = 22;
$result = $string + $number; # $result = 33perl 中字符串和数值可以互相转换,但是只是十进制的字符串。对于字串中有非十进制字符的,从左边到第一个非十进制字符的字符串将被转换:$result = "12a34" +1; # $result = 13
如果左边第一个也不是十进制字符串,将转成0:$result = "hello" * 5; # $result = 0所以十六进制字符"0xff",将被当做0。所以:$a=1$b="0x2"if($a>$b){    print(1);}else{    print(2);}打印出的是1,因为$b转换成整数是0.怎么把十六进制字串转换为对应的整数呢?用hex()函数。$a="0xff"hex($b)将得到整数255.把一个字符串转换成整数,也可以显式进行,用int()函数。$a = "0123"print($a) ; #输出0123。print(int($a)); #输出123。int()函数跟自动转换一样,"012a3"还是会转成12.最好不要用自动转换,还是显式转换好一些,毕竟perl让人迷惑的地方已经够多了。