js数值和和字符串进行转换时可以对不同进制进行操作


在JavaScript中,当你想要将数值与字符串之间进行转换,并且在这个过程中操作不同进制时,你可以使用`Number`对象的方法和全局的`parseInt`/`parseFloat`函数,以及字符串的`.toString()`方法。下面我将解释这些方法在不同进制下的使用。

### 数值转字符串(含进制操作)

当你想将一个数值转换为字符串,并且指定特定的进制时,可以使用`Number.prototype.toString()`方法。这个方法接受一个可选的基数(radix)参数,该参数是一个介于2到36之间的整数,表示数字的基数(进制)。


let num = 255;
// 转换为十六进制字符串
let hexString = num.toString(16); // "ff"
// 转换为二进制字符串
let binaryString = num.toString(2); // "11111111"

### 字符串转数值(解析进制)

对于字符串转数值,特别是当字符串表示非十进制数时,可以使用`parseInt()`函数。这个函数接受两个参数:要解析的字符串和基数(进制)。基数可以是一个介于2到36之间的整数,如果省略基数或者基数为0,JavaScript会自动根据字符串的格式来判断其基数。


let hexString = "ff";
// 将十六进制字符串转换为十进制数值
let num = parseInt(hexString, 16); // 255

let binaryString = "11111111";
// 将二进制字符串转换为十进制数值
let numFromBinary = parseInt(binaryString, 2); // 255

请注意,`parseFloat()`函数也可以用于解析字符串为浮点数,但它不支持进制转换,主要用于解析十进制数的浮点数部分。

总结来说,在JavaScript中,通过`Number.prototype.toString()`方法和`parseInt()`函数,你可以在不同进制间转换数值和字符串。