我无法弄清如何将这个字符串 82144251
转换为数字。
代码:
var num = "82144251";
如果我尝试下面的代码,.toFixed()
函数会将我的数字转换回字符串...
问题更新:我正在使用谷歌应用脚本编辑器,那可能就是问题所在...
num = parseInt(num).toFixed() // if I just do parseInt(num) it returns 8.2144251E7
我无法弄清如何将这个字符串 82144251
转换为数字。
代码:
var num = "82144251";
如果我尝试下面的代码,.toFixed()
函数会将我的数字转换回字符串...
问题更新:我正在使用谷歌应用脚本编辑器,那可能就是问题所在...
num = parseInt(num).toFixed() // if I just do parseInt(num) it returns 8.2144251E7
var num1a = "1";
console.log(+num1a);
var num1b = "2";
num1b=+num1b;
console.log(num1b);
var num3 = "3"
console.log(parseInt(num3,10));
var num4 = "4";
console.log(Number(num4));
希望这能有所帮助
+num
可以将字符串转换为数字,但我个人不建议使用该方法。这种写法总是让人感觉加号是一个意外的遗留物。 - t.niese+=
之间的混淆。 - Scott Marcus+num
很难理解,我是说num=+num
很容易和num+=num
混淆。 - Scott Marcus看起来你正在寻找这里的Number()
功能:
var num = "82144251"; // "82144251"
var numAsNumber = Number(num); // prints 82144251
typeof num // string
typeof numAsNumber // number
您可以在此处阅读有关 Number()
的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number
希望这可以帮助到您!
Number()
、String()
和Boolean()
构造函数。 - Scott MarcusNumber()
是不好的实践?parseInt
和Number
有不同的用途。如果我想要接受100px
或类似的输入,则parseInt
会很有用;如果我想确保字符串只包含数字(包括前导和尾随空格、e
符号和十六进制),那么Number()
将给出正确的结果。 - t.niesenew
,而我们有其他更直观的方法来完成这些工作。 - Scott MarcusNumber()
在幕后创建一个数字对象,而不仅仅是保持类型,这会产生更多的开销,并且很容易与 new Number()
混淆(具体取决于实现方式)。String()
和 Boolean()
也是如此。 - Scott Marcus没有愚蠢的问题。
要将字符串转换为数字,您可以使用一元加法运算符。
var num = "82144251";
num = +num;
num = +num
的作用与 num = num * 1;
实际上是一样的,它会把 a 中的值转换成数字,但在此之后并不会改变该值。
num = parseInt(num).toFixed()
返回一个带有E的字符串。 - Chris Haugenvar num = "82144251";
num = parseInt(num).toFixed()
console.log(num, typeof num); // string
num = parseFloat(num);
console.log(num, typeof num); // number
8.2144251E7
而不是82144251
。 - Valipvar intNum = parseInt("82144251", 10); // intNum 是数字
我使用num-0,因为它更容易进行内联使用。
.toFixed()
函数实际上返回的是一个字符串,而不是一个数字。 - Pointy8.2144251E7
与82144251
完全相同。 - Pointy.toFixed()
?parseInt()
返回一个数字,这就是你所需要的。 - BarmarparseInt
的结果不是你想要的。 - user47589