2016-05-17 9 views
18

Próbuję przekonwertować parametr req.params na wartość Number, ponieważ to jest to, co zdefiniowałem w moim schemacie na rok param.Konwertuj ciąg na numer node.js

Próbowałem

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

i

Number(req.params.year); 

i

1*req.params.year; 

ale nie z nich nie działa. Czy muszę coś zainstalować?

+0

Przepraszam, nie widziałem reszty kodu, który napisałeś. Następnie spróbuj parseInt (req.params.year.replace (/ [^ 0-9]/g, ''), 10) –

+0

, ale spróbowałem ... – user3488862

+0

Możliwy duplikat [Problems with javascript "parseInt()" ] (http://stackoverflow.com/questions/7318385/problems-with-javascript-parseint) –

Odpowiedz

42

Nie musisz niczego instalować.

powinien działać poprawnie.

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

Jakie są twoje wyniki, jeśli używasz parseInt? czy to wciąż ciąg znaków?

+0

tak, gdy robię, że moje wyjście jest nadal ciąg:/tak dziwne !!! – user3488862

+4

Myślę, że używasz express express right? nigdy nie używałem tego pakietu, ale czy to możliwe, że parametry są tylko do odczytu? co, jeśli utworzysz własną zmienną? 'var p = parseInt (req.params.year);' – Tusk

+0

Dzięki, że pomaga !!!! – user3488862