如何将字符串转换为数字

Val*_*lip 10 google-apps-script

我无法弄清楚如何将此字符串转换82144251为数字.

码:

var num = "82144251";
Run Code Online (Sandbox Code Playgroud)

如果我尝试下面的代码,该.toFixed()函数会将我的数字转换回字符串...

问题更新:我正在使用Google Apps脚本编辑器,这一定是问题所在......

num = parseInt(num).toFixed() // if I just do parseInt(num) it returns 8.2144251E7
Run Code Online (Sandbox Code Playgroud)

Gee*_*eky 15

您可以使用一元运算符'+'或parseInt(number,10)或Number()将字符串转换为数字

检查这些片段

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));
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你

  • 虽然`+ num`将字符串转换为数字是正确的,但我个人不会使用它.它总是看起来像`+`是一个偶然的遗留. (3认同)

Dav*_*per 8

看起来您正在Number()此处寻找功能:

var num = "82144251"; // "82144251"
var numAsNumber = Number(num); // prints 82144251
typeof num // string
typeof numAsNumber // number
Run Code Online (Sandbox Code Playgroud)

您可以Number()在此处阅读更多信息:https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number

希望这可以帮助!

  • 使用 `Number()`、`String()` 和 `Boolean()` 构造函数被广泛认为是一种不好的做法。 (2认同)
  • @DaveCooper `Number()` 在幕后创建了一个数字对象,而不仅仅是坚持一个类型,它(取决于实现)会产生更多的开销并且很容易与 `new Number()` 混淆。`String()` 和 `Boolean()` 也是如此。 (2认同)

Chr*_*gen 5

没有什么问题是愚蠢的。

快速回答:

要将字符串转换为数字,可以使用一元加号。

var num = "82144251";

num = +num;
Run Code Online (Sandbox Code Playgroud)

这样做num = +num实际上与将 a 中的值转换为数字(如果需要)相同num = num * 1;,但之后它不会更改该值。