JS에서 문자열을 숫자로 변환하는 방법을 결정할 수 없는 이유
parseInt( ) 대 parseFloat( )
우선 문자열 캐스팅에 대해 이야기할 때 이러한 매우 잘 알려진 방법을 언급하지 않을 수 없습니다.
따라서 javascript를 처음 사용하는 사용자를 위해 이러한 메서드는 문자열을 정수 "parseInt( )"또는 부동 소수점 숫자 "parseFloat( )"로 각각 변환하는 데 사용된다는 점을 알려드립니다.
그러나 두 가지 모두에 작은 문제가 있습니다. 잘못된 숫자로 구문 분석하면 많은 실수가 발생할 수 있으므로 처음부터 작업하려는 숫자 유형을 알고 있어야 합니다. 이는 비즈니스에 매우 해로울 수 있습니다.
const stringNumber = "45.1"
// output -> 45 (is not a string anymore)
const int = parseInt(stringNumber)
// output -> 45.1 (is not a string anymore, and it is float)
const float = parseFloat(stringNumber)
숫자( )
이것은 자바스크립트의 Number 클래스의 직접적인 인스턴스입니다.
Number( )는 대규모 코드 베이스에 있을 만큼 충분히 읽을 수 있고 그 기능을 이름으로 명확하게 이해할 수 있으며 자동으로 문자열을 Integer 또는 Float 형식으로 지정하기 때문에 문자열을 숫자로 구문 분석하는 가장 권장되는 방법 중 하나입니다.
const stringIntegerNumber = "45"
const stringFloatNumber = "45.1"
// output -> 45 (is not a string anymore)
const int = Number(stringIntegerNumber)
// output -> 45.1 (is not a string anymore, and it is float)
const float = Number(stringFloatNumber)
단항 연산자(+)
문자열을 숫자로 변환하는 방법을 선택할 수 있습니다. 이것은 실제로 JavaScript 메서드나 클래스가 아니라 특수 연산자이기 때문에 확실히 가장 이상합니다.
Number( )와 마찬가지로 단항 연산자는 동일한 기능을 수행하지만 함께 작업하는 사람들이 JavaScript 문서를 읽은 적이 없는 경우 더 나은 성능을 제공하므로 이러한 방식은 충분히 읽을 수 없습니다.
const stringIntegerNumber = "45"
const stringFloatNumber = "45.1"
// output -> 45 (is not a string anymore)
const int = +stringIntegerNumber
// output -> 45.1 (is not a string anymore, and it is float)
const float = +stringFloatNumber
무슨 일이 일어나고 있는지 이해가 되지 않는다면 이 방법은 숫자 값이 있는 문자열 바로 앞에 "+"연산자를 추가하여 작동한다는 점을 알려드리겠습니다("+"사이에 공백이 있는 경우 고전적인 합계 연산자로 간주됨).
더 많은 방법이 있으면 자유롭게 의견을 말하십시오.
Reference
이 문제에 관하여(JS에서 문자열을 숫자로 변환하는 방법을 결정할 수 없는 이유), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mariolemus/why-i-cant-decide-how-to-convert-a-string-into-a-number-in-js-43fi텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)