number.tostring() 将数字转为2~36进制字符串,超出范围抛rangeerror;默认十进制;支持浮点数但存在精度问题;不支持非整数进制或自定义符号。

Number.toString() 方法可以将数字转为指定进制的字符串,只需传入一个表示进制的参数(2~36 之间)。
支持的进制范围是 2 到 36
该方法只接受 2~36 的整数作为进制基数。小于 2 或大于 36 会抛出 RangeError。例如:
-
(255).toString(16)→"ff"(十六进制) -
(10).toString(2)→"1010"(二进制) -
(100).toString(8)→"144"(八进制) -
(12345).toString(36)→"9ix"(36 进制,用 0–9 和 a–z 表示数码)
默认行为是十进制(不传参时)
如果不传参数,toString() 默认按十进制转换,等价于 toString(10):
-
(42).toString()→"42" -
(-7).toString()→"-7"(负号保留在开头)
注意浮点数和科学计数法的输出格式
对小数调用 toString() 时,结果可能含小数点或指数形式,取决于数值大小和精度:
-
(3.14).toString(10)→"3.14" -
(1e21).toString(10)→"1000000000000000000000"(自动展开,非 "1e21") -
(0.1 + 0.2).toString(10)→"0.30000000000000004"(体现浮点精度问题)
不能直接处理非整数进制或自定义符号
该方法仅支持标准位置记数法,且数码固定为 0–9 和 a–z。无法:
- 使用其他字符集(如大写 A–Z 或自定义符号)
- 转成非整数进制(如 base π、base 2.5)
- 添加前缀(如
"0x"、"0b"),需手动拼接
0x 前缀,可写成 "0x" + num.toString(16)。Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











