반응형
문자열을 숫자 node.js로 변환
req.params를 Number로 변환하려고합니다. 이것이 제가 year param에 대한 스키마에서 정의한 것이기 때문입니다.
나는 시도했다
req.params.year = parseInt( req.params.year, 10 );
과
Number( req.params.year);
과
1*req.params.year;
그러나 그들 중 아무것도 작동하지 않습니다. 무언가를 설치해야합니까?
무언가를 설치할 필요가 없습니다.
parseInt(req.params.year, 10);
제대로 작동해야합니다.
console.log(typeof parseInt(req.params.year)); // returns 'number'
parseInt를 사용하면 출력은 무엇입니까? 여전히 문자열입니까?
parseInt () 사용은 주로 실패하지 않기 때문에 나쁜 생각입니다. 또한 INFINITY의 경우처럼 일부 결과가 예상치 못한 결과가 될 수 있기 때문입니다.
다음은 예상치 못한 동작을 처리하는 기능입니다.
function cleanInt(x) {
x = Number(x);
return x >= 0 ? Math.floor(x) : Math.ceil(x);
}
아래 테스트 사례의 결과를 참조하십시오.
console.log("CleanInt: ", cleanInt('xyz'), " ParseInt: ", parseInt('xyz'));
console.log("CleanInt: ", cleanInt('123abc'), " ParseInt: ", parseInt('123abc'));
console.log("CleanInt: ", cleanInt('234'), " ParseInt: ", parseInt('234'));
console.log("CleanInt: ", cleanInt('-679'), " ParseInt: ", parseInt('-679'));
console.log("CleanInt: ", cleanInt('897.0998'), " ParseInt: ", parseInt('897.0998'));
console.log("CleanInt: ", cleanInt('Infinity'), " ParseInt: ", parseInt('Infinity'));
결과:
CleanInt: NaN ParseInt: NaN
CleanInt: NaN ParseInt: 123
CleanInt: 234 ParseInt: 234
CleanInt: -679 ParseInt: -679
CleanInt: 897 ParseInt: 897
CleanInt: Infinity ParseInt: NaN
완전한 대답 은 아니므로 이것은 여전히 매우 유효한 parseInt에 대한 정보를 보충하기위한 것입니다. Express는 req 또는 res 객체를 전혀 수정할 수 없도록 허용합니다 (불변). 따라서이 데이터를 효과적으로 수정 / 사용하려면 다른 변수에 복사해야합니다 (var year = req.params.year).
참조 URL : https://stackoverflow.com/questions/37271445/convert-string-to-number-node-js
반응형
'Programing' 카테고리의 다른 글
JPG 이미지에서 작동하는 동안 "모드 P를 JPEG로 쓸 수 없음"이 표시됨 (0) | 2021.01.11 |
---|---|
행당 3 개의 열을 표시하려면 어떻게해야합니까? (0) | 2021.01.11 |
Firebase 저장소 및 Access-Control-Allow-Origin (0) | 2021.01.11 |
젠킨스 파이프 라인에 파일이 있는지 확인 (0) | 2021.01.11 |
Unix 쉘 명령을 사용하여 텍스트 파일에서 새 파일로 상위 1000 개 행 이동 (0) | 2021.01.11 |