贵州做网站公司
贵州做网站公司~专业!靠谱!
10年网站模板开发经验,熟悉国内外开源网站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等网站程序,可为您提供网站建设,网站克隆,仿站,网页设计,网站制作,网站推广优化等服务。我们专注高端营销型网站,企业官网,集团官网,自适应网站,手机网站,网络营销,网站优化,网站服务器环境搭建以及托管运维等。为客户提供一站式网站解决方案!!!

整型(php中字符串如何转换整型)

来源:网络转载 时间:2024-05-03 17:12:56

php字符串转换整型的方法:1、通过“intval($num);”方法将字符串类型的数字转成整型的数字;2、利用ascii码的方式将字符串转成整型。

PHP-字符串转整型-不使用内置函数

介绍

php字符串类型的数字如果想转成整型的数字,一般我们都是采用系统内置的API去做转换,但如果规定就不让我们去用系统内置的API转换,而是让自己去实现一个函数转换该怎么办?这里我们看下如何去实现。

系统内置 API 方式

$num='345432123';//(一)$num=(int)$num;//输出://int(345432123)//(二)$num=intval($num);//输出://int(345432123)

采用 ASCII 码方式

下面我们利用 ascii 码的方式去做转换,因为每个字符都对应一个 ascii 码,当对这个字符做加减乘除的时候,实际上就是对 ascii 码做加减乘除操作,也就是整型操作,最终会返回一个整型数字.

字符 '0' ~ '9' 的 ascii 码是 48~57 我们在转换的时候就是用每一个字符减去 '0' 例如: '1' - '0' = 1、'2' - '0' = 2 返回值就是一个Int类型,下面具体看代码实现.

functionconvertInt($strInt=''){$len=strlen($strInt);$int=0;for($i=0;$i<$len;$i++){$int*=10;$num=$strInt{$i}-'0';$int+=$num;}return$int;}$num='345432123';var_dump(convertInt($num));//输出:int(345432123)在Redis里面也有提供一个字符串转整型的函数,也是通过ascii码方式去做的,实现的比较完善严谨,具体可以参考下string2ll函数#include<stdio.h>#include<limits.h>#include<string.h>/*Convertastringintoalonglong.Returns1ifthestringcouldbeparsed*intoa(non-overflowing)longlong,0otherwise.Thevaluewillbesetto*theparsedvaluewhenappropriate.*/intstring2ll(constchar*s,size_tslen,longlong*value){constchar*p=s;size_tplen=0;intnegative=0;unsignedlonglongv;if(plen==slen)return0;/*Specialcase:firstandonlydigitis0.*/if(slen==1&&p[0]=='0'){if(value!=NULL)*value=0;return1;}if(p[0]=='-'){negative=1;p++;plen++;/*Abortononlyanegativesign.*/if(plen==slen)return0;}/*Firstdigitshouldbe1-9,otherwisethestringshouldjustbe0.*/if(p[0]>='1'&&p[0]<='9'){v=p[0]-'0';p++;plen++;}elseif(p[0]=='0'&&slen==1){*value=0;return1;}else{return0;}while(plen<slen&&p[0]>='0'&&p[0]<='9'){if(v>(ULLONG_MAX/10))/*Overflow.*/return0;v*=10;if(v>(ULLONG_MAX-(p[0]-'0')))/*Overflow.*/return0;v+=p[0]-'0';p++;plen++;}/*Returnifnotallbyteswereused.*/if(plen<slen)return0;if(negative){if(v>((unsignedlonglong)(-(LLONG_MIN+1))+1))/*Overflow.*/return0;if(value!=NULL)*value=-v;}else{if(v>LLONG_MAX)/*Overflow.*/return0;if(value!=NULL)*value=v;}return1;}//--------执行---------intmain(){longlongnum;string2ll("345432123",strlen("345432123"),&num);printf("%d\n",num);//输出345432123retunr0;}
标签:整型-

抖音(Tiktok)是由北京字节跳动科技有限公司(ByteDance)孵化的音乐创意短视频社交网站。它于2016年9月20日上线,主要面向全年龄段的用户,尤其是...

飞极速为您提供高清在线电影、电视剧大全、动画片,综艺等,飞极速在线更新及时,播放速度快,给您带来最好的观影体验!飞极速在线,免费提供日本新番动漫、最新电影和最新...

《南华早报》(英语:South China Morning Post, SCMP)和星期日出版的《星期日南华早报》(英语:Sunday Morning Post...

招商银行滞纳金能减免嘛?招商银行滞纳金是不可以减免的。滞纳金是招商银行对于信用卡逾期行为的一种罚款,因此是不可以减免的。除此之外,信用卡逾期还款除了会产生滞纳金,还会产生利息。招商银行滞纳金会一直收吗?至于滞纳金,则不会像逾期利息那样一直计收,招行信用卡12万逾期一个月而是每逾期一次,就按照最低还款额未还部分的5%来计收一次滞纳金。 大家还需要注意,在计收利息的时候。 三个月没收入可不可以申请救助...

沪港通开通对股票有什么影响?沪港通是上交所和港交所联合建立的互联互通机制,沪港通下设有:港股通和沪股通。沪港通开通后,给内地资金和香港资金提供了投资渠道。沪港通的开通会使沪股通标的股得到北向资金的支持和青睐;对港股通标的股来说,沪港通的开通,能使这些港股得到南下资金的青睐,更有利于股价上涨。总的来说,互联互通机制对内地资本市场和港股市场都有一定的利好北向资金就是指香港或外资进入内地股票市场的资金;...

杜邦分析图是什么?杜邦分析图是一种思维导图,它将总体目标一一细分,能够快速清晰地确定目标和方法。杜邦以净资产的收益率为核心分析财务指标,通过财务指标的内部关系系统全面地分析企业的盈利能力,具有非常鲜明的层级结构,是利用财务指标之间的关系全面分析企业财务的典型方法。这种分析方法最早是杜邦公司使用的相当于发明者,所以把它叫做杜邦分析法。这个模型最显著的是把用来评价企业经营效率和财务状况的几个指标,依据...

TOP