Google apps script 如何将字符串转换为数字
我不知道如何将这个字符串Google apps script 如何将字符串转换为数字,google-apps-script,Google Apps Script,我不知道如何将这个字符串82144251转换成一个数字 代码: 如果我尝试下面的代码,.toFixed()函数将我的数字转换回字符串 问题更新: 我正在使用谷歌应用程序脚本编辑器,这一定是问题所在 num = parseInt(num).toFixed() // if I just do parseInt(num) it returns 8.2144251E7 var num=“82144251”; num=parseInt(num).toFixed() console.log(num,ty
82144251
转换成一个数字
代码:
如果我尝试下面的代码,.toFixed()
函数将我的数字转换回字符串
问题更新:
我正在使用谷歌应用程序脚本编辑器,这一定是问题所在
num = parseInt(num).toFixed() // if I just do parseInt(num) it returns 8.2144251E7
var num=“82144251”;
num=parseInt(num).toFixed()
console.log(num,typeof num);//一串
num=parseFloat(num);
console.log(num,typeof num);//数字
var intNum=parseInt(“82144251”,10);//intNum是数字您可以使用一元运算符“+”或parseInt(number,10)或number()将字符串转换为数字
检查这些代码片段
var num1a=“1”;
控制台日志(+num1a);
var num1b=“2”;
num1b=+num1b;
console.log(num1b);
var num3=“3”
console.log(parseInt(num3,10));
var num4=“4”;
控制台日志(编号(num4))代码>您似乎正在此处查找Number()
功能:
var num = "82144251"; // "82144251"
var numAsNumber = Number(num); // prints 82144251
typeof num // string
typeof numAsNumber // number
您可以在此处阅读有关Number()
的更多信息:
希望这有帮助 没有问题是愚蠢的
快速回答:
要将字符串转换为数字,可以使用
执行num=+num
实际上与执行num=num*1相同
如果需要,它会将a中的值转换为数字,但之后不会更改值。我使用num-0,因为它更易于内联使用。函数.toFixed()
实际上会返回字符串,不是一个数字。还要注意,8.2144251E7
与82144251
@PavelValeriu的值完全相同。为什么要调用.toFixed()
parseInt()
返回一个数字,这就是您所需要的。我不明白为什么parseInt
的结果不是您想要的。@PavelValeriu:什么问题?“parseInt(num)返回8.2144251E7”?-不,它不起作用,但结果是8.2144251E7
而不是82144251
@PavelValeriu这不是我运行代码时的结果。你运行代码段了吗?它在这里工作,但请检查我更新的问题。非常感谢。虽然+num
将字符串转换为数字是正确的,但我个人不会使用它。看起来,+
总是一个意外的遗留物……这可能会导致与+=
@Scott Marcus之间的混淆。我认为+num一点也不令人困惑。这是一个用更少代码更改类型的足够方法。它在这里工作,但请检查我更新的问题。谢谢大家!@ChrisHaugen我没有说+num
令人困惑,我说num=+num
很容易与num+=num
混淆。那么当字符串包含非数字字符时会发生什么呢?它的计算结果应该是NAN,但是,您的问题没有指定它需要处理非数字。只是num=parseInt(num).toFixed()
返回一个带有E的字符串。人们普遍认为使用Number()
、string()
和Boolean()
构造函数是一种不好的做法。嘿@ScottMarcus感谢大家的提醒。我们每天都在学习新的东西:)你能帮我理解为什么会这样吗?@ScottMarcus为什么Number()
是个坏习惯parseInt
和Number
有不同的用途。如果我想接受100px
或类似的输入,那么parseInt
将非常有用,如果我想确保字符串只包含数字(包括尾随空格和前导空格,e
符号和十六进制),那么Number()
会给我正确的结果。@Dave Cooper,因为它们有点反模式。它们是构造函数,您不必与new
一起使用,我们还有其他更直观的方法来完成这些工作。@daveOperNumber()
在后台创建一个Number对象,而不仅仅是坚持使用一个类型,这(取决于实现)会产生更多的开销,并且很容易与newnumber()混淆
。这同样适用于String()
和Boolean()
。
var num = "82144251"; // "82144251"
var numAsNumber = Number(num); // prints 82144251
typeof num // string
typeof numAsNumber // number
var num = "82144251";
num = +num;