为什么要使用tostring方法将数字转换为Javascript中的字符串?

时间:2011-08-30 20:50:25

标签: javascript

我想知道为什么人们必须将数字转换为字符串。这种转换的实际用途是什么? 同样,为什么开发人员使用parseInt或parseFloat将字符串转换为数字。 谢谢

4 个答案:

答案 0 :(得分:3)

如果要对字符串形式的数字进行算术运算,则使用parseIntparseFloat非常重要。例如

"42" + 1 === "421"
parseInt("42") + 1 === 43;

如果要对当前为数字的值执行字符串操作,则反之亦然。

42 + 1 === 43
(42 + "") + 1 === 421

为什么人们想要做前者或后者虽然是特定情景。我打赌将字符串转换为数字进行算术运算的情况更为突出。

答案 1 :(得分:3)

变量的数据类型是JavaScript脚本引擎对变量当前持有的数据类型的解释。字符串变量包含字符串;数字变量包含数字值,依此类推。但是,与许多其他语言不同,在JavaScript中,同一个变量可以包含不同类型的数据,所有这些都在同一个应用程序中。这是松散类型和动态类型这两个术语所知的概念,这两个概念都意味着JavaScript变量可以根据上下文在不同的时间保存不同的数据类型。

使用松散类型的语言,您不必提前声明变量将是字符串或数字或布尔值,因为数据类型实际上是在处理应用程序时确定的。如果你从一个字符串变量开始,然后想把它用作一个数字,那就完全没问题,只要字符串实际上包含类似于数字的东西而不是诸如电子邮件地址之类的东西。如果你以后想再把它当作一个字符串,那也没关系。

宽松打字的宽容性最终会产生问题。如果您尝试将两个数字相加,但JavaScript引擎将其中一个作为字符串数据类型的变量解释,则最终会得到一个奇数字符串,而不是您期望的总和。当涉及使用JavaScript的变量和数据类型时,Context就是一切。

答案 2 :(得分:0)

将数字转换为字符串时的一个示例很有用,当您想要以某种方式格式化数字时,可能就像货币(1234.56 - > $ 1,234.56)。

当您想对表示数字的字符串进行算术运算时,反转非常有用。假设您有一个文本框,允许用户输入数字。该文本框的值将是一个字符串,但您需要将其作为数字来对其进行一些算术运算,因此您将使用parseIntparseFloat

答案 3 :(得分:0)

字符串 - >编号

考虑使用JS进行简单的数字验证。如果您可以将字符串转换为数字,则可以在发布到数字之前验证该数字,或者在算术运算中使用。

数字 - >串

字符串连接主要和显示目的。该语言最常使用隐式转换将数字转换为字符串,例如:

1 + " new answer has been posted"

请记住,Javascript是一种松散类型的语言。这可以隐藏正在发生的大量隐式类型转换。