TOUVE 发表于 2015-12-26 11:11:17

【zz】Perl数字与字符串间的自动转换

  http://developer.iyunv.com/art/201007/211617.htm
  
  本文和大家重点讨论一下Perl语言中Perl数字与字符串间的自动转换,这里从七个方面向大家介绍,相信通过过本文的学习你对Perl数字与字符串间的自动转换有一定的了解。
  Perl数字与字符串间的自动转换
  Perl会根据需要,在数字与字符串间进行自动转换:
  1、自动转换是根据操作符来的。如果操作符需要数字,它就会把字符串转换成数字;如果需要字符串,就会所数字转换成字符串。
  "12"."3"等同于"123"
  "12"*"3"等同于36
  "z".5*3"等同于"z".15等同于"z15"
  2、数字转字符串没疑问
  3、字符串转数字:
  转换时,找到字符串第一个数字部分,然后后面的非数字部分和前面的去掉,比如"12adsfasdlkf34234fsd234"*3等同于12*3等于36。如果字符串中不含有数字,则会转换成0。
对于非十进制数,'0'前缀只对数字有效,对自动转换是没用的,如"0xab"*0x12并不会把前面的"0xab"当作十六进制数处理
  4、Perl会记住转换的结果,所以不必担效率问题。
  关于Perl的字符串,应该记住的一些东西:
  1、有Perl中,最短的字符串是空串,最长的字符串是填满整个内存。
  2、Perl中的字符串可以包括任意字符,意味着你可以创建、遍历、操作二进制数据
  3、在Perl中,null并没有特殊意义。
  4、单引号字符串
  单引号代表字符串的开始与结束
  只有单引号'和反斜线\是特殊字符,其它所有字符都代表其本身,包括换行符在内。换句话说,在单引号字符串中,只有用到了单引号和反斜线时才需要转义。比如在字符串中你写了\n,并不会当作换行符处理,而只是两个普通的字符\和n
对于\,只有它后面紧跟着\和'时,才会被当作特殊字符处理
  5、双引号字符串
  和我们熟悉的在其它语言中的字符串一样。\会被当作转义字符处理。
它还有一个特有的特质:变量内插。就是当字符串中含有一个变量名时,它会用变量值来代替它。
  6、连接操作符.
  比如:"Hello".''."World!"结果就是"HelloWorld!"
  
7、重复操作符x是一小写字母。操作符左边是一个字符串,操作符右边是一个数字,操作结果会把字符串重复那个数字的次数。如"hello"x5,操作结果就是"hellohellohellohellohello"
  注意:当x右边的数字是一个非整数时,将转换为小于等于它的整数,比如4.8会转换成4,而当这个数字小于1时,则会产生一个空串。
  
页: [1]
查看完整版本: 【zz】Perl数字与字符串间的自动转换