parseInt是什么意思

时间: 发布人:WeMadeFox木

parseInt是什么意思

已解决问题

谷歌WeMadeFox木用户在提交了关于“西双版纳parseInt是什么意思”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-10-22T14:41:26。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,谢了,下次有事儿别忘了找我 !

希望以下的回答,能够帮助你。

第1个回答

用户名:147英变几笑质经脱北载屋更bl  

parseInt是用于将字符串根据基数转换成整数。

首先parseInt()函数中可以给定两个参数,祖完的洋端另第一个是要解析的数,第二个是以来自多少进制解析。

例如parseInt(‘10’,8)的意思为把一个8进制数10,转换成一个10进制数问答,最后结果当然为8.

接着我们再看个例子,pars由视叶月香研翻客殖eInt(‘100’裂益创析县雨校整阻龙利,8),把一个8进制数100,转换成一个10进制数,最后结果那便是6弱土随4,记住parseInt把最后结果都察等义事编是转换成10进制数。

最后再看个例子,parseInt(‘12’,2)把一个二进制数12,转换成一个10进制数,因为二进制数中不存在2,因此解析时仅仅只解析数字1,将二进制的1换成十进制,结果显然就是1.

V8中parseInt函数的源码:【只列出一部分,如需要查看请参见V8中src/conversions-inl.h和src/compiler/***.cc】

if(radix==0){//如果传入radix兵身换节是0,则以10进行处理

//Radixdetection.

ra术跟才船做四dix=10;

if(*c门沿秋合冲工住urrent=='0'){

++curre重导望送基nt;

if(current==end)returnSignedZero(negative);

if(*current=='x'||*curr跑今力故身天ent=='X'){

radix=16;

++cur罗益视约绝rent;

if(current==end)returnJunkStringValue();

}else{

leading_zero=true;

}elseif(radix==16){//16进制

if(*current=='0'){

//Allow"0x"prefix.

++current;

if(current==end)returnSignedZero(negative);

if(*current=='x'||*curren但素展承望t=='X'){

++current;

if(current==end)returnJun倒项体台饭kStringValue钱行讲督影间甚措面什上();

}else{

leading_zero=t东相器画聚策增特rue;

i品间灯略状置被知f(radix<2||radix>36)returnJunkStringValue();//radix不在2~36之间的处理

例如解析:

parseInt('0101',1)=>NaN

pars庆攻投省策eInt('453',2)=>NaN因为453不符合二进制数字,所以无法转换出正确的数字