Как преобразовать строку в длинный в JavaScript? - PullRequest
73 голосов
/ 27 марта 2011

У меня есть отметка времени в миллисекундах, которую мне нужно преобразовать из String в long.Javascript имеет parseInt, но не parseLong.Итак, как я могу это сделать?

Спасибо

Редактировать: Чтобы немного расширить мой вопрос: учитывая, что, очевидно, javascript не имеет длинный тип, как я могусделать простую арифметику с длинными, которые изначально выражаются в виде строк?Например, вычесть одно из другого, чтобы получить дельту времени?

Ответы [ 2 ]

92 голосов
/ 27 марта 2011

JavaScript имеет тип Number, который является 64-битным числом с плавающей запятой *.

Если вы хотите преобразовать строку в число, используйте

  1. либо parseInt, либо parseFloat.Если используется parseInt, я бы рекомендовал всегда передавать основание также.
  2. использовать унарный оператор +, например, +"123456"
  3. , использовать конструктор Number, например, var n = Number("12343")

* бывают ситуации, когда число внутренне будет храниться как целое число.

1 голос
/ 27 марта 2011

Это потому, что в javascript нет long.

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

...