JSFiddle - React, Tailwind, and code Playground

by Amin Kodaganur

JavaScript

document.write("Example 1 sumStrings('1','2'): ");
document.write('<b>'+sumStrings('1', '2')+'</b><br><br>');

document.write("Example 2 sumStrings('800', '9567'): ");
document.write('<b>'+sumStrings('800', '9567')+'</b><br><br>');

document.write("Example 3 sumStrings('99', '1'): ");
document.write('<b>'+sumStrings('99', '1')+'</b><br><br>');

document.write("Example 4 sumStrings('00103', '08567'): ");
document.write('<b>'+sumStrings('00103', '08567')+'</b><br><br>');

document.write("Example 5 sumStrings('50095301248058391139327916261', '81055900096023504197206408605') : ");
document.write('<b>'+sumStrings('50095301248058391139327916261', '81055900096023504197206408605') +'</b><br><br>');



function handelBigNumbers(x) {
  var result = '';
  var xStr = x.toString(10);
  var digitCount = xStr.indexOf('e') === -1 ? xStr.length : (parseInt(xStr.substr(xStr.indexOf('e') + 1)) + 1);
  
  for (var i = 1; i <= digitCount; i++) {
    var mod = (x % Math.pow(10, i)).toString(10);
    var exponent = (mod.indexOf('e') === -1) ? 0 : parseInt(mod.substr(mod.indexOf('e')+1));
    if ((exponent === 0 && mod.length !== i) || (exponent > 0 && exponent !== i-1)) {
      result = '0' + result;
    }
    else {
      result = mod.charAt(0) + result;
    }
  }
  return result;
}

function sumStrings(a, b)
{
  //Your code here
	return ''+handelBigNumbers(parseInt(a)+parseInt(b));
}