快速提示:如何在JavaScript中把数字转换成字符串

937 阅读6分钟

脚本

快速提示:如何在JavaScript中把数字转换成字符串

戴安娜-佩纳

2022年9月1日

分享

JavaScript是相当灵活的,它提供了许多不同的方法来转换数据类型。在这个简短的教程中,我们将看看如何在JavaScript中把一个数字转换成一个字符串。你可能想这样做,以便使数字数据对用户来说更有可读性--例如,将数字显示为句子的一部分。

本教程探讨了在JavaScript中把数字转换成字符串的四种方法。根据你的具体需求和使用情况,我们推荐不同的方法。

  • 字符串插值当在一个字符串中插入一个数字值。例如,在网页上显示文本,如 "你已经用了24个积分中的7个"。你也可以使用 串联但要注意。
  • 字符串toString() 当把一个数字值的类型改为字符串时。例如,使用数字作为函数或API的输入,这些函数或API期望的是字符串。StringtoString() 基本上是一样的,但对undefinednull 变量的处理是不同的。

如果你想做相反的操作,你可能也会对如何将字符串转换为数字感兴趣。

使用插值法将数字转换为字符串

内插法可能是在字符串中使用数字的最易读的方法。你可以用这种方法将数字插入字符串中,而不是手动将其转换为字符串。

要使用插值法,用反斜线(`)而不是引号("')来包装字符串。然后,在字符串中,你可以用`${}` 作为占位符插入任何变量。这被称为模板字面,并有各种其他的好处。

比如说。

const number = 99;
console.log(`${number} percent of people love JavaScript`); // "99% of people love JavaScript"

由于被记录到控制台的字符串是用反斜线包裹的,你可以用${} ,在字符串中插入一个变量。

你可以在下面的CodePen演示中看到这个例子的操作。

请看CodePen上SitePoint(@SitePoint
的Pen
JavaScript中的字符串插值

使用字符串连接法将数字转换为字符串

第二种方法是字符串连接法。你可以使用+ 操作符将一个数字转换成一个字符串。

比如说。

console.log(10 + "USD"); //"10USD"
console.log(10 + ""); //"10"

参见CodePen上SitePoint(@SitePoint)
的Pen
用连接法将数字转换为字符串

虽然这种方法很有效(因为它需要最少的代码),但它会使代码的可读性降低。

一个字符串连接的注意事项

当用这种方法处理一个以上的数字时,可能会出现意想不到的结果。

比如说。

const a = 2000;
const b = 468;
console.log(a + b + " motorway"); // "2468 motorway"

由于a + b ,在到达字符串之前先进行评估,所以该操作是一个数字加法,而不是字符串连接。一旦达到字符串变量或字面意义,操作就变成了字符串连接。所以,结果是2468 motorway

然而,请尝试将代码改为以下内容。

const a = 2000;
const b = 468;
console.log("it is " + a + b + " motorway"); // "it is 2000468 motorway"

因为"it is" + a 首先被评估,+ 操作符被用于表达式其余部分的字符串连接。因此,不是像前面的例子那样在ab 之间进行加法运算,而是在这两者之间进行字符串连接运算。

这可以用圆括号来解决。

const a = 2000;
const b = 468;
console.log("it is " + (a + b) + " motorway"); // "it is 2468 motorway"

首先在ab 之间进行加法运算,这导致了两个变量之间的加法运算。然后,字符串连接被用于表达式的其余部分,因为第一个操作数是"it is"

使用toString将一个数字转换成一个字符串

第三种方法是使用toString() 方法。这个方法适用于所有的JavaScript数据类型,包括数字。它转换它所使用的数字的值并返回。

比如说。

const number = 10;
console.log(number); // 10
console.log(typeof number); // "number"

const numberStr = number.toString();
console.log(numberStr); // "10"
console.log(typeof numberStr); // "string"

这个例子显示的结果与第一种方法的结果相同。你也可以在下面的CodePen演示中看到它的作用。

请看CodePen上SitePoint(@SitePoint)
的Pen
JS使用toString()将数字转换成字符串

使用字符串将数字转换为字符串

第四种方法是使用String() 构造函数。这个函数接受要转换的变量作为第一个参数。它将该参数转换为字符串并返回。

比如说。

const number = 10;
console.log(number); // 10
console.log(typeof number); // "number"

const numberStr = String(number);
console.log(numberStr); // "10"
console.log(typeof numberStr); // "string"

当在控制台中记录number 的值和它的类型时,结果分别是10number 。转换后,结果分别是10 ,作为一个字符串和string

你可以在下面的CodePen演示中看到这个例子的操作。

请参阅CodePen上SitePoint(@SitePoint)的Pen
JS使用String()将数字转换成字符串

总结

本教程向你展示了四种方法,你可以用它们在JavaScript中把数字转换为字符串。尽管这些方法在用于数字时可以产生相同的结果,但在某些情况下,一种方法会比其他方法更好。

使用String()toString() 的主要区别是,String() 可以与undefinednull 的值一起使用,而toString() 则不能。因此,如果你有一个应该包含数字的值,但你想在将其转换为字符串时保证安全,你可以使用String()

至于字符串插值和字符串连接,它们最好在字符串中使用数字时使用。否则,使用这些方法会使代码的可读性降低。

如果你觉得这篇文章有用,你可能还会喜欢下面的内容。

分享这篇文章

Dianne Pena

戴安娜-佩纳

Dianne是SitePoint的通讯编辑。她特别喜欢学习JavaScript、CSS和前端技术。

数据类型JS快速提示字符串

[

JavaScript: Novice to Ninja, 2nd Edition

](www.sitepoint.com/premium/boo…)

[

JavaScript: Novice to Ninja, 2nd Edition

](www.sitepoint.com/premium/boo…)

[

JavaScript: The New Toys

](www.sitepoint.com/premium/boo…)

[

Learn to Code with JavaScript

](www.sitepoint.com/premium/boo…)

下一篇

Quick Tip: Testing if a String Matches a Regex in JavaScript

快速提示。在JavaScript中测试一个字符串是否与Regex相匹配DiannePena

Quick Tip: How to Transform the Character Case of a String in JavaScript

快速入门:如何在JavaScript中转换字符串的字符大小写DiannePena

Quick Tip: How to Split a String into Substrings in JavaScript

快速入门:如何在JavaScript中把一个字符串拆成子串DiannePena

Quick Tip: How to Convert Numbers to Ordinals in JavaScript

快速入门:如何在JavaScript中把数字转换为序数DiannePena

Quick Tip: How to Convert a String to a Number in JavaScript

快速入门:如何在JavaScript中把字符串转换成数字DiannePena

jQuery convert array to string

jQuery将数组转换为字符串SamDeering