2016-05-17 176 views
18

我试图将req.params转换为数字,因为这是我在我的模式中定义的年份参数。将字符串转换为数字node.js

我已经试过

req.params.year = parseInt(req.params.year, 10); 

Number(req.params.year); 

1*req.params.year; 

,但他们的工作不。 我需要安装一些东西吗?

+0

对不起,我没有看到你发布的代码的其余部分。然后尝试parseInt(req.params.year.replace(/ [^ 0-9]/g,''),10) –

+0

但我确实尝试过... – user3488862

+0

[javascript问题] parseInt() ](http://stackoverflow.com/questions/7318385/problems-with-javascript-parseint) –

回答

42

您不必安装任何东西。

应该正常工作。

console.log(typeof parseInt(req.params.year)); // returns 'number' 

如果使用parseInt,那么输出是什么?它仍然是一个字符串?

+0

是的,当我这样做,我的输出仍然是一个字符串:/很奇怪! – user3488862

+4

我认为你使用的是正确的?我从来没有使用过这个软件包,但是它可以,params只是只读的?什么,如果你创建一个自己的变量? 'var p = parseInt(req.params.year);' – Tusk

+0

Thanks that helps !!!! – user3488862