关于“php_字符串转换整形”的问题,小编就整理了【4】个相关介绍“php_字符串转换整形”的解答:
什么叫字符串转换?就是把字符型的数字转换为可以计算的整形的数字。但这只适用于0-9所组成的字符串,比如a="982",不能计算,想要得到a*2,必须要转成整形才可以实现,既int(a)*2,否则就会报错。
那既然这种数字不能直接计算,为什么还会出现呢。有两个原因,第一个,我们可能去第一个文件,里面的所有信息都是字符串,对一些要用的数字需要手动去转换。另外一个原因,长的数字,可能会因为计算机的不同,某些数字会自动变为0,导致数字不准。如果先把数字转为字符串来赋值传输,那就不会出现这个问题。
怎样把输入的字符型数字转换成整形输出?在C语言中将字符串转化成整型有两种方法。
1 用atoi函数。 atoi的功能就是将字符串转为整型并返回。其声明为 int atoi(char *str); 比如atoi("1234");会返回整型1234。 要调用atoi,需要引用头文件stdio.h
2 用sscanf。 sscanf与标准格式化输入函数scanf类似,不过源并非是标准输入,而是字符串。 用sscanf可以处理更复杂的字符串。 比如字符串char * str = "a=1, b=2"; 定义int a,b;后 可以用 sscanf(str,"a=%d, b=%d",&a,&b); 来将a,b值提取,计算后,a=1, b=2。 要使用sscanf同样需要引用头文件stdio.h。
encoding函数的使用方法?encoding 函数 为php内部多字节字符串编码转换函数,可以在有需要的场合进行编码转换,如:解决 在GB2312编码环境下使用Ajax产生的中文 字符乱码 问题。支持几乎所有编码,版本支持 PHP 4 >= 4.0.6、PHP 5。
函数原型:
/**
* 多字节字符串编码转换函数
*
* @param string str 需要进行编码转换的字符串
* @param string to_encoding 指定转换为某种编码,如:gb2312、gbk、utf-8等
* @param mixed from_encoding 混合指定原来字串的编码,如:同时指定 JIS, eucjp-win, sjis-win 混合编码
* @return string
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
PHP中英文混合排版中处理字符串常用的函数?对一段文字按照字数进行分割,因为文字中可能是中英文混合的,而php函数strlen只能计算出字串的字节数,于是自己实现了几个函数,分享下。 例1,计算字符总长度。 01 <?php 02 function ccStrLen($str) #计算中英文混合<a href="/"target="_blank" >字符串</a>的长度 03 { 04 $ccLen=0; 05 $ascLen=strlen($str); 06 $ind=0; 07 $hasCC=ereg(”[xA1-xFE]“,$str); #判断是否有汉字 08 $hasAsc=ereg(”[x01-xA0]“,$str); #判断是否有ASCII字符 09 if($hasCC && !$hasAsc) #只有汉字的情况 10 return strlen($str)/2; 11 if(!$hasCC && $hasAsc) #只有Ascii字符的情况 12 return strlen($str); 13 for($ind=0;$ind<$ascLen;$ind++) 14 { 15 if(ord(substr($str,$ind,1))>0xa0) 16 { 17 $ccLen++; 18 $ind++; 19 } 20 else 21 { 22 $ccLen++; 23 } 24 } 25 return $ccLen; 26 } 27 ?> 例2,从左侧截取字符串。 01 <?php 02 function ccStrLeft($str,$len) #从左边截取中英文混合字符串 03 { 04 $ascLen=strlen($str); if($ascLen<=$len) return $str; 05 $hasCC=ereg(”[xA1-xFE]“,$str); #同上 06 $hasAsc=ereg(”[x01-xA0]“,$str); 07 if(!$hasCC) return substr($str,0,$len); 08 if(!$hasAsc) 09 if($len & 0×01) #如果长度是奇数 10 return substr($str,0,$len+$len-2); 11 else 12 return substr($str,0,$len+$len); 13 $cind=0;$flag=0;$reallen=0;//实际取字节长 14 while($cind<$ascLen && $reallen<$len) 15 { //by
www.jbxue.com
到此,以上就是小编对于“php_字符串转换整形”的问题就介绍到这了,希望介绍关于“php_字符串转换整形”的【4】点解答对大家有用。