parseInt和parseFloat区别

271 阅读1分钟

parseInt和parseFloat相同点

parseInt()和parseFloat()都只传入一个参数的时候,就会把传入的值先转换成字符串,再从左向右解析,返回解析到的数字,遇到不是数字的字符就停止解析

parseInt和parseFloat不同点

解析小数点

parseFloat会解析一个小数点,parsetInt不解析小数点

第二个参数

parseFloat不存在第二个参数 parseInt的第二个参数: 定义第一个参数是以哪种进制解析,方法返回一个十进制数 如果第二个参数省略或为0就以10进制数计算,但是当第一个参数有0X就看成十六进制数

例子

//map方法,有几个元素就会调用几次parseInt方法传入item,index
const arr=[1,2,3,4]
arr.map(parseInt)   
/**
parseInt(1,0)       =>把1看作10进制,结果1
parseInt(2,1)      =>把2看作1进制,结果NaN
parseInt(3,2)      =>把3看作2进制,结果NaN
parseInt(4,3)      =>把4看作3进制,结果NaN
*/
//[1,NaN,NaN,NaN]
parseInt("1258",4)           //   =>1*4+2=6