자바 스크립트에서 문자열을 long으로 변환하는 방법은 무엇입니까?


84

문자열에서 long으로 변환해야하는 밀리 초 타임 스탬프가 있습니다. 자바 스크립트는이 parseInt아니지만을 parseLong. 그래서 어떻게 할 수 있습니까?

감사

편집 : 내 질문을 약간 확장하려면 : 자바 스크립트에 긴 유형이 없다는 점을 감안할 때 처음에는 문자열로 표현되는 long으로 간단한 산술을 어떻게 할 수 있습니까? 예를 들어 다른 것에서 하나를 빼서 시간 델타를 구합니까?


Javascript에는 long이 없기 때문에 parseLong이 없습니다. (일부 오래된 타이머는 Javascript가 왜 오래 가지 않았는 지에 대한 이야기를 들려 줄 수 있습니다.)
awm

그래서 자바 스크립트에서 long으로 산술을 할 수 없습니까 ??
Richard H

당신이하고 싶은 일의 코드 예제를 줄 수 있습니까?
Russ Cam

@Russ-아래 답변이 모든 것을 설명합니다. thx
Richard H

답변:


107

JavaScript에는 Number64 비트 부동 소수점 숫자 * 인 유형이 있습니다.

문자열을 숫자로 변환하려면 다음을 사용하십시오.

  1. 하나 parseInt또는 parseFloat. 을 사용하는 경우 parseInt항상 기수를 전달하는 것이 좋습니다.
  2. 단항 +연산자를 사용하십시오.+"123456"
  3. Number생성자를 사용하십시오.var n = Number("12343")

* 숫자가 내부적으로 정수로 유지되는 상황이 있습니다.


1
따라서 문자열 "71157133118211271"을 Javascript에서 숫자 / 긴 문자열로 구문 분석하려면 어떻게해야합니까? 16 자리 문자열로 분할하고 각각을 개별적으로 구문 분석하고 함께 연결 하시겠습니까?
Charlie Schliesser 2013-08-29

1
@CharlieS 많은 수를 지원하는 javascript-bignum ( github.com/jtobey/javascript-bignum ) 또는 BigInt.js ( leemon.com/crypto/BigInt.html ) 와 같은 라이브러리를 사용 합니다.
Russ Cam

0에서 왼쪽으로 조심하세요
Cazs

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.