JavaScript base_convert
Converts a number in a string from any base <= 36 to any base <= 36
1 2 3 4 56 7 8 9 1011 | function base_convert (number, frombase, tobase) { // Converts a number in a string from any base <= 36 to any base <= 36 // // version: 1008.1718 // discuss at: http://phpjs.org/functions/base_convert // + original by: Philippe Baumann // + improved by: Rafał Kukawski (http://blog.kukawski.pl) // * example 1: base_convert('A37334', 16, 2); // * returns 1: '101000110111001100110100' return parseInt(number + '', frombase | 0).toString(tobase | 0);} |
Examples
Running
1 | base_convert('A37334', 16, 2); |
Should return
1 | '101000110111001100110100' |
Dependencies
No dependencies, you can use this function standalone.
Open syntax issues
php.js uses JsLint to help us keep our code consistent and prevent some common bugs.
Eventually we want all code to pass or at least take into consideration most fixes suggested by JsLint, following this JsLint configuration we’ve decided on.
Authors
Thanks to the following developers, you get to have base_convert goodness in JavaScript.
I think, it would be better to handle arguments this way:
function base_convert(number, frombase, tobase){
return parseInt(number + '', frombase | 0).toString(tobase | 0);
}
frombase and tobase should be integers. When passing some other types, like float or a numeric string, PHP converts them to integer. The bitwise OR operator does more or less the same, converts the values to number and truncates the floating part of the number.
IMO, the conversion of number arguments to string is not that important, but I left it in place.


Kevin van Zonneveld
Apr 23rd
http://github.com/kvz/phpjs/commit/419ceb08a367a7f2fb564ff0dc4e2cbf2bbffe96