找回密码
 注册
查看: 2949|回复: 0

perl语言中数字和字符串之间的自动转换

[复制链接]
发表于 2011-11-13 09:49:12 | 显示全部楼层 |阅读模式
大多数情况下,Perl 将在需要的时候自动在数字和字符串之间转换。它怎样知道什么时候需要字符串,什么时候需要数字
呢?这完全依赖于标量值之间的的操作符。如果操作符(如+)需要数字,Perl 将把操作数当作数字看待。如果操作符需要
字符串(如. ),Perl 将把操作数当作字符串看待。不必担心数字和字符串的区别;使用恰当的操作符,Perl 将为你做剩下
的事。
当在需要数字的地方使用了字符串(如,乘法),Perl 将自动把字符串转换为其等价的数字,就像输入的是十进制浮点数一
样◆。因此“12”* “3”将给出36。后面的非数字部分和前面的空格将被去掉,如“12fred34”* “3”将给出36 而不会用任何
提示◆。在极端情形,当一个不含任何数字的字符串将别转换为0。如,将“fred”当作数字来使用时。
◆用首字符0 表示非十进制值对数字有效,对自动转换没有作用。使用hex()和ort()来转换此类字符串
◆除非你使用了warnings,我们将很快讨论到。
同样,如在需要字符串的地方使用了数字(如,字符串连接),数字将转换为字符串。例如,如果你想在Z 后串接5 乘以7
的结果◆,可以这样写:
“Z”. 5 * 7 #同于“Z”. 35,或“Z35”
总之,一句话,不用担心使用的是数字还是字符串(大多数情况下)。Perl 将自动转换它们◆。
◆不用担心效率问题。Perl 能记住转换的结果,因此这一步只做一次。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-22 04:41 , Processed in 0.026041 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表