在Javascript中将字符串转换为整数

在Javascript中将字符串转换为整数,javascript,Javascript,我正在使用JavaScript从xml文件中读取一些值。因为它是一个字符串,所以我需要将它转换为整数并执行一些计算 为了从XML文件中读取数据,我使用以下代码: var pop = JSON.stringify(feature.attributes.Total_Pop.value); 这很好用。稍后,我使用以下代码将其转换为整数: var popint = parseInt(pop); 这也很好。但后来当我用它做一些数学运算时,它返回NAN 我用于数学运算的代码是: var pop6 = M

我正在使用JavaScript从xml文件中读取一些值。因为它是一个字符串,所以我需要将它转换为整数并执行一些计算

为了从XML文件中读取数据,我使用以下代码:

var pop = JSON.stringify(feature.attributes.Total_Pop.value);
这很好用。稍后,我使用以下代码将其转换为整数:

var popint = parseInt(pop);
这也很好。但后来当我用它做一些数学运算时,它返回NAN

我用于数学运算的代码是:

var pop6 = Math.ceil(popint / 30);
我做错了什么?有什么建议吗?

不要严格化——只需使用
var pop=feature.attributes.Total\u pop.value。调用JSON.stringify会将字符串用额外的引号括起来

var pop = "123";                    // "123"
var popint = parseInt(pop);         // 123
Vs:


这取决于字符串是什么,但也许您可以简单地
parseInt(popint,10)/30
。Ref..试着给parseInt函数一个基值,你可能想让它成为一个浮点,而不是所有的/30都是一个整数。你做过任何基本的调试吗<代码>控制台日志(popint);console.log(popint类型)
?如果您得到的是
NaN
,这意味着解析的字符串实际上不是整数+这里没有足够的信息给出答案;显然,如果
popint=parseInt(pop)
“工作正常”(即是一个整数),则
Math.ceil(popint/30)
不能为NaN,除非
popint
的值在两者之间的某个地方发生了更改。
var pop = JSON.stringify("123");    // ""123""
var popint = parseInt(pop);         // NaN