📅  最后修改于: 2023-12-03 15:16:10.568000             🧑  作者: Mango
在JavaScript中,我们可以使用toString
方法来将十进制数值转换为字符串。该方法可以接受一个参数,用于指定将数字转换为哪种进制的字符串。
// 将十进制数值转换为二进制字符串
const decimalNumber = 10;
const binaryString = decimalNumber.toString(2); // "1010"
console.log(binaryString);
// 将十进制数值转换为八进制字符串
const octalNumber = 18;
const octalString = octalNumber.toString(8); // "22"
console.log(octalString);
// 将十进制数值转换为十六进制字符串
const hexadecimalNumber = 255;
const hexadecimalString = hexadecimalNumber.toString(16); // "ff"
console.log(hexadecimalString);
需要注意的是,toString
方法只能用于数字类型,如果传入的参数不是数字类型,将会抛出异常。
const notANumber = 'abc';
const result = notANumber.toString(); // TypeError: notANumber.toString is not a function
另外,由于JavaScript默认数字类型为64位浮点数,在处理64位整数时可能会出现精度问题。
const largeNumber = 9223372036854775807; // 2的63次方-1
const result = largeNumber.toString(16); // "7fffffffffffffff"
console.log(result);
const largerNumber = 9223372036854775808; // 2的63次方
const result2 = largerNumber.toString(16); // "8000000000000000"
console.log(result2);