diff options
Diffstat (limited to 'index.js')
| -rw-r--r-- | index.js | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -1,5 +1,9 @@ -module.exports = basic = {} +var basic = {} + +if (! ('window' in this)) { + module.exports = basic +} // Handle bases up to base 36 basic.abedecary = "0123456789abcdefghijklmnopqrstuvwxyz" @@ -38,10 +42,17 @@ basic.toNumber = function (s, b) { if (! basic.validate(s, b)) { return NaN } - var n = 0 + var n = 0, is_negative = false + if (s.indexOf("-") == 0) { + is_negative = true + s = s.substr(1) + } for (var i = 0, len = s.length; i < len; i++) { n += basic.abedecary.indexOf(s[len-1-i]) * Math.pow(b, i) } + if (is_negative) { + n *= -1 + } return n } |
