2011-03-27 26 views
62

我有一個毫秒的時間戳,我需要從一個字符串轉換爲長。 Javascript有一個parseInt但不是parseLong。那我該怎麼做?如何將字符串轉換爲長的JavaScript?

感謝

編輯:爲了擴大我的問題咯:因爲顯然JavaScript並沒有很長的類型,我該怎麼做簡單的算術與最初表現爲字符串多頭? E.g從另一個減去一個以獲得時間增量?

+0

Javascript沒有parseLong,因爲它沒有很長的。 (有些老前輩可能會告訴你一個關於爲什麼Javascript從未長久的故事。) – awm 2011-03-27 14:58:57

+0

所以在JavaScript中用longs做算術是不可能的? – 2011-03-27 15:02:04

+0

你可以給你一個你想要做的代碼示例嗎? – 2011-03-27 15:12:05

回答

79

JavaScript有一個Number類型,是一個64位浮點數*。

如果你正在尋找一個字符串轉換爲數字,可以使用

  1. 要麼parseIntparseFloat。如果使用parseInt,我建議您始終傳遞基數。
  2. 使用操作符例如Unary ++"123456"
  3. 使用Number構造函數,例如, var n = Number("12343")

* 有些情況下,數字將在內部保持爲整數。

+1

所以,如果我想解析字符串「」71157133118211271「'在JavaScript中的數字/長,我會怎麼做呢?將它拆分爲16位數字串,分別解析每個字符串,並將它們連接在一起? – 2013-08-29 22:37:52

+1

@CharlieS您使用類似javascript-bignum(https://github.com/jtobey/javascript-bignum)或BigInt.js(http://www.leemon.com/crypto/BigInt.html)的庫來提供支持爲大數目。 – 2014-04-23 20:23:50