parseInt函数的作用是什么,使用要注意哪些
Admin 2022-07-20 群英技术资讯 1689 次浏览
这篇文章给大家分享的是“parseInt函数的作用是什么,使用要注意哪些”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。探讨背景:
不知道小伙伴们有没有发现,如果是parseInt(0.006)或者parseInt(0.0006)等返回的值都应该 0,但是parseInt(0.0000006)返回的值却诡异的 6,这到底为什么呢?
parseInt函数的作用
首先先说一下,parseInt()的作用是什么?他是js原生的方法,是用来把数字字符串转化为Number类型的数字的,还有他只是转化整数部分。
parse 是转化,Int 是整型,整数,目的是把里面转换成整数
var num = parseInt(demo ,radix); //demo 是你要转换的那个数
传一个参数的用法
var demo =”123”; var num = parseInt(demo); console.log(typeof(num) + “:” + num);//number:123 var demo = true; var num = parseInt(demo); console.log(typeof(num) + “:” + num);//number: NaN var demo = false; var num = parseInt(demo); console.log(typeof(num) + “:” + num);//number: NaN var demo = 123.9; var num = parseInt(demo); console.log(typeof(num) + “:” + num);//number: 123,直接砍掉小数非四舍五入 var demo = “10”; var num = parseInt(demo ,16); console.log(typeof(num) + “:” + num); //number: 16
传两个参数的用法
var num = parseInt(demo ,radix); //radix 是基底的意思
解释:radix 写成 16,系统会认为是以 16 进制为基底, 10(一零)是 16 进制的一零,是以 16 进制为基底,把他转成为 10 进制的数字(就是 16),上面是以目标进制为基底,转换成十进制(radix 范围是 2-36)
例:
//1、 parseInt(10,2)//结果是 2 因为把10看成是二进制把它转换成10进制得2 //2 var demo = “123abc”; var num = parseInt(demo); console.log(typeof(num) + “:” + num);//结果:number: 123 //因为parseInt 从数字类开始看,看到非数字类为止,返回原来的数
探究原因
发现我们理想的是把这个小数都变成0,但是parseInt(0.0000006)却返回6,真是离谱呀。
console.log(parseInt(0.006)) //0 console.log(parseInt(0.0006)) //0 console.log(parseInt(0.00006)) //0 console.log(parseInt(0.000006)) //0 console.log(parseInt(0.0000006)) //6
返回我就开始探索他的原因,是哪里出现了问题。
parseInt(0.0000006) //0.000006 String(0.0000006); //6e-7 parseInt(6e-7); //6 parseInt(0.0000006) //6
总结原因
这下我发现原因了,原来是因为在10的-6次方之后,形式就换成了复数的形式(6e-7)。然后用parseInt()把6e-7的6,进行了返回,所以最后返回的值是6。
改正
如果要把小数安全的返回回来,就要用别的方法啦!
Math.floor(0.00006); //0 Math.floor(0.000006); //0 Math.floor(0.0000006); //0
这样就可以得到你想要的值了。
总结
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
JS实现Tab栏切换的两种方式案例详解 面向过程的写法 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width= ...
这篇文章给大家分享的是JS中删除数组第一个元素的方法。下文给大家介绍了三种方法,分别是使用shift()函数、使用delete运算符和使用splice()函数,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。
Node处理CPU密集型任务的方法有哪些?下面本篇文章就来带大家了解一下Node处理CPU密集型任务的方法,希望对大家有所帮助!
为了构建 SPA(单页面应用),需要引入前端路由系统,这就是 Vue-Router 存在的意义,而这篇文章主要给大家介绍了关于vue-router中两种模式区别的相关资料,分别是hash模式、history模式,需要的朋友可以参考下
这篇文章主要为大家介绍了vue.js前端网页弹框异步的行为示例分析,有需要的朋友可以借鉴参考下,希望能够有所帮助祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008