Javascript专栏(三)_类型转换-未完


title: Javascript专栏(二)_类型转换-未完
categories: JavaScript
date: 2022-03-20 10:08:32
tags:


let a = '1'
console.log(typeof a); //string
let b = a * 1 
console.log(typeof b); //number

String -> Number

parseInt(string,radix)

该函数解析一个字符串并返回指定基数的十进制整数

console.log(parse('123',5))// 将'123'看作5进制数,返回十进制数38 => 1*5^2 + 2*5^1 + 3*5^0 = 38

参数

string 必需
radix 可选,表示以几进制来读取字符串,取值范围是2-36。请注意radix的默认值并不是10,并且在使用parseInt()函数时请一定要传入radix参数。在后文中“一些注意的点”中将会解释为什么我们必须这么做。

返回值

解析后的十进制数
或者NaN

console.log(parseInt('321',2))//NaN 因为第一个非空格字符3不可能出现在二进制中,所以无法解析,因此返回NaN
console.log(parseInt('321',37));//NaN 因为radix此时值为37,不在取值范围2-36之间

一些注意的点

截断解析
console.log(parseInt('1100211', 2)); //12 s
console.log(parseInt('1100', 2));  //12
// 2不是二进制中会出现的数,所以parseInt解析到这里时将会忽略该字符以及其后续的所有字符,也就是说第一行的‘211’都被忽略了,所以会和第二行输出相同的结果
请一定指定radix

当radix是undefined、0、或者压根没有的时候,js会假定以下情况。
如果string以0x(x无论大小写)开头,那么radix会假定为16。
如果string以0开头,那么radix会假定为8/10。。ES5澄清了会假定为10,但是!并不是所有浏览器都支持。因此,在使用parseInt时,一定要指定一个radix

parseFloat()

该函数解析一个字符串并返回一个浮点数

截断解析

console.log(parseFloat('+3.2+4'));//3.2 
console.log(parseFloat('-3.2.4'));//-3.2 第二个小数点后面的都会被截止

+

console.log(+'42'); //42 
console.log(+'a'); //NaN
console.log(+'00100'); //100
console.log(+'0x10'); //16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值