设为首页 加入收藏

TOP

Perl中的字符串和数值
2014-11-24 11:25:12 来源: 作者: 【 】 浏览:0
Tags:Perl 字符串 数值

$string = "11";
$number = 22;
$result = $string + $number; # $result = 33


perl 中字符串和数值可以互相转换,但是只是十进制的字符串。


对于字串中有非十进制字符的,从左边到第一个非十进制字符的字符串将被转换:


$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让人迷惑的地方已经够多了。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Struts2的动态方法调用DMI 下一篇Linux内核驱动之I/O内存

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python 数据分析与可 (2025-12-26 21:51:20)
·从零开始学Python之 (2025-12-26 21:51:17)
·超长干货:Python实 (2025-12-26 21:51:14)
·为什么 Java 社区至 (2025-12-26 21:19:10)
·Java多线程阻塞队列 (2025-12-26 21:19:07)