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