Javascript has the function parseInt() which can help convert integer in a binary form into its decimal equivalent:
parseInt(\"101\", 2) // 5
>
You can create javascript extension method like parseInt as I have created method parseBinary which works just link parseInt.
String.prototype.parseBinary = function parseBinary() {
var radix = 2;
var s = this.split('.');
var decimal = parseInt(s[0], radix);
if(s.length > 1){
var fract = s[1].split('');
for(var i = 0, div = radix; i < fract.length; i++, div = div * radix)
{
decimal = decimal + fract[i] / div;
}
}
return decimal;
};
To use this method you can call it using following code.
var str = "0.101";
alert(str.parseBinary());
Here is a working example of javascript code
String.prototype.parseBinary = function parseBinary() {
var radix = 2;
var s = this.split('.');
var decimal = parseInt(s[0], radix);
if(s.length > 1){
var fract = s[1].split('');
for(var i = 0, div = radix; i < fract.length; i++, div = div * radix)
{
decimal = decimal + fract[i] / div;
}
}
return decimal;
};
var str = "0.101";
alert(str.parseBinary());