JavaScript数字与字符串转换及取整方法详解

作者:键盘侠

时间:2026-10-28

浏览:159

本文详细介绍JavaScript中数字与字符串相互转换的多种方法,包括隐式转换、String()、toString()及toFixed/toExponential/toPrecision等格式化输出。同时解析parseInt与parseFloat的解析规则,并列举Math.ceil、floor、round等常用取整技巧,帮助开发者精准处理数值类型。

文章目录

数字转换为字符串的方法

1. 数字转换为字符串



a. 要将数字转换为字符串,最直接的方式是将其与空字符串相加:


代码如下:

 
var n = 100;
var n_as_string = n + "";

b. 若需显式地将数字转为字符串,可调用String()函数:


代码如下:

 
var string_value = String(number);

c. 利用toString()方法:


代码如下:

 
string_value = number.toString();

Number对象的toString()方法支持一个可选参数,用于指定转换时的基数。若未指定该参数,默认以10为基数进行转换。此外,也可指定其他基数(2至36之间的整数)来转换数字。


例如:


代码如下:

 
var n = 17;
binary_string = n.toString(2); // Evaluates to "10001"
octal_string = "0" + n.toString(8); // Evaluates to "021"
hex_string = "0x" + n.toString(16); // Evaluates to "0x11"

d. toFixed()方法将数字转换为字符串,并保留指定的小数位数,不使用指数表示法。


代码如下:

 
var n = 123456.789;
n.toFixed(0); // "123457"
n.toFixed(1); // "123456.79"

e. toExponential()使用指数表示法将数字转换为字符串,小数点前保留1位数字,小数点后保留指定位数。


代码如下:

 
var n = 123456.789;
n.toExponential(1); // "1.2e+5"
n.toExponential(3); // "1.235e+5"

f. toPrecision()使用指定的有效位数显示数字。若有效位数不足以完整显示整数部分,则自动使用指数表示法。


代码如下:

 
var n = 123456.789;
n.toPrecision(4); // "1.235e+5"
n.toPrecision(7); // "123456.8"

字符串转换为数字的方法

2. 字符串转换为数字



a. 将字符串转换为数字的一种直观但略显繁琐的方法是调用Number()构造函数:


代码如下:

 
var number = Number(string_value);

b. parseInt()仅截取整数部分。若字符串以"0x"或"0X"开头,parseInt()会将其解析为十六进制数。该函数还接受第二个参数以指定解析基数,合法值范围为2至36。


代码如下:

 
parseInt("3 blind mice"); // Returns 3
parseInt("12.34"); // Returns 12
parseInt("0xFF"); // Returns 255
parseInt("11", 2); // Returns 3 (1 * 2 + 1)
parseInt("ff", 16); // Returns 255 (15 * 16 + 15)
parseInt("zz", 36); // Returns 1295 (35 * 36 + 35)
parseInt("077", 8); // Returns 63 (7 * 8 + 7)
parseInt("077", 10); // Returns 77 (7 * 10 + 7)

c. parseFloat()用于截取整数和浮点数部分。


代码如下:

 
parseFloat("3.14 meters"); // Returns 3.14

d. 若parseInt()和parseFloat()无法将指定字符串转换为数字,则返回NaN:


代码如下:

 
parseInt(''eleven"); // Returns Nan
parseFloat("$72.47"); // Returns NaN

JavaScript常用取整技巧

3 JavaScript取整的方法



a. 丢弃小数部分,仅保留整数部分


parseInt(5/2)



b. 向上取整,若存在小数则整数部分加1



Math.ceil(5/2)



c. 向下取整



Math.floor(5/2)



d. 四舍五入



Math.round(5/2)

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章