¿Cómo convertir una cadena a larga en javascript?

84

Tengo una marca de tiempo de milisegundos que necesito convertir de String a long. Javascript tiene un parseIntpero no un parseLong. Entonces, ¿cómo puedo hacer esto?

Gracias

Editar: Para ampliar un poco mi pregunta: dado que aparentemente javascript no tiene un tipo largo, ¿cómo puedo hacer aritmética simple con largos que inicialmente se expresan como cadenas? Por ejemplo, ¿restar uno del otro para obtener un delta de tiempo?

Richard H
fuente
Javascript no tiene parseLong porque no tiene long. (Es posible que algún veterano pueda contarle una historia sobre por qué Javascript nunca se
alargó
¿Entonces no es posible hacer aritmética con longs en javascript?
Richard H
¿Puede dar un ejemplo de código de lo que quiere hacer?
Russ Cam
@Russ: su respuesta a continuación lo explica todo. thx
Richard H

Respuestas:

107

JavaScript tiene un Numbertipo que es un número de coma flotante de 64 bits *.

Si está buscando convertir una cadena en un número, use

  1. ya sea parseInto parseFloat. Si lo usa parseInt, recomendaría siempre pasar la base también.
  2. utilizar el +operador Unario , por ejemplo+"123456"
  3. usar el Numberconstructor, por ejemplovar n = Number("12343")

* hay situaciones en las que el número se mantendrá internamente como un entero.

Russ Cam
fuente
1
Entonces, si quisiera analizar la cadena "71157133118211271"a un número / largo en Javascript, ¿cómo haría eso? ¿Dividirlo en cadenas de 16 dígitos, analizar cada uno de ellos por separado y concatenarlos juntos?
Charlie Schliesser
1
@CharlieS Utiliza una biblioteca como javascript-bignum ( github.com/jtobey/javascript-bignum ) o BigInt.js ( leemon.com/crypto/BigInt.html ) que proporciona soporte para grandes números.
Russ Cam
tenga cuidado con el cero al lado izquierdo
Cazs
0

Es porque no hay longjavascript.

http://javascript.about.com/od/reference/g/rlong.htm

Jakub Konecki
fuente
7
Querido, tiene artículos como ese, que me dan ganas de vomitar. "Debido a que alguien alguna vez quiso introducir tipos, todavía no debería usar la palabra clave"
TFennis
2
El enlace está roto.
Hamed Moghadasi