怎么实现一个parseInt-创新互联

这篇文章主要介绍了怎么实现一个parseInt,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联专注于企业营销型网站建设、网站重做改版、岳麓网站定制设计、自适应品牌网站建设、HTML5建站商城网站制作、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为岳麓等各大城市提供网站开发制作服务。

我们写代码的时候经常需要将字符串类型数字转变为数字类型,除了js内置的parseInt函数和Number函数外,我们也可以自己动手简单实现这么一个函数。

如何实现一个parseint

•如果string不为字符串类型,则先将string转化为字符串类型

•string会忽略前后的空白

•依次解析字符,如果字符不是指定基数中的字符(例如:2进制中的3、10进制中的'f')则停止解析(首字符为'+'或'-'时除外),返回已经解析好的整数

•如果无法解析为整数,则返回NaN

•radix默认值不为10,在radix为undefined、0或者没有指定时,做以下处理◦如果string以'0X'或'0x'开头时,基数为16

◦如果string以'0'开头时,基数为8或者10(每个浏览器的具体实现不同,es5规定此时为10)

◦如果string以其他任何字符开头时,基数为10

•radix的范围为2-36

不考虑进制radix

parseint代码实现

const_parseInt=(str,radix)=>{
  if(typeofstr!=='string')str=String(str)
  str=str.trim()
  constregex=/^(?<fuhao>[\+|\-]*)(?<num>\d+)/
  if(!regex.test(str))returnNaN
  constgroups=str.match(regex).groups
  radix=10
  constarr=groups.num.split('')
  constlen=arr.length
  letresult=0
  for(leti=0;i<len;i++){
  constnum=arr[i]*Math.pow(10,len-i-1)
  if(isNaN(num))break
  elseresult+=num
  }
  returnresult*(groups.fuhao==='-'?-1:1)
  }

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么实现一个parseInt”这篇文章对大家有帮助,同时也希望大家多多支持创新互联网站建设公司,,关注创新互联行业资讯频道,更多相关知识等着你来学习!

新闻名称:怎么实现一个parseInt-创新互联
本文地址:https://www.cdcxhl.com/article16/doccdg.html

成都网站建设公司_创新互联,为您提供电子商务网站建设小程序开发用户体验微信公众号ChatGPT

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发