为什么使用tostring方法在JavaScript中将数字转换为字符串?

问题描述:

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

+5

因为不同的数据类型提供不同的操作/方法。看看“2”+“2”和“2 + 2”的结果。 –

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

对于松散类型的语言,您不必提前声明变量将是字符串或数字或布尔值,因为数据类型实际上是在处理应用程序时确定的。如果你有一个字符串变量开始了,然后想用它作为一个数字,这是完全正常的,只要该字符串实际上包含一些类似于一个数字,不是如电子邮件地址。如果您稍后想再次将它视为字符串,那也没关系。

弱类型的宽容性质可以最终产生的问题。如果您尝试将两个数字一起添加,但JavaScript引擎将其中一个数字类型的变量解释为字符串数据类型,则最终会出现一个奇怪的字符串,而不是您期望的数字。在涉及JavaScript的变量和数据类型时,上下文就是一切。

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

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

当您想对当前是数字的值执行字符串操作时,情况正好相反。

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

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

数字转换为字符串时的一个例子是有用的,当你要格式化的数以一定的方式,也许像货币(1234.56 - > $ 1,234.56)。当你想要做字符串表示数字运算

反过来也是有用的。假设你有一个文本框,你允许用户输入一个数字。该文本框的值是一个字符串,但你需要它为数字做一些运算用它,所以你会使用parseIntparseFloat

字符串 - >号

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

数 - >字符串:主要

字符串连接和显示目的。语言将最经常使用隐式转换到数字转换成字符串无论如何,如:

1 + " new answer has been posted" 

千万记住,JavaScript是一种松散类型的语言。这可以隐藏很多正在发生的隐式类型转换。