AtoI

Convert string to int

by dpnminh

HTML

<div>
  <input name="number" id="input-number" type="text" placeholder="Enter a string number">
  <button onclick="perform()">
  AtoI
  </button>
</div>
<div>
  <span id="result"></span>
</div>

JavaScript

function AtoI(str){
	var input = str.trim();
  
  var digits = [0,1,2,3,4,5,6,7,8,9],
  		result = 0, needSign = false;
      
  for (var i = 0; i < str.length; i++){
  	var char = input[i];
    
    if (digits[char] !== undefined && digits[char] !== null){
    	var pow = 10;
     	
      result = pow * result + digits[char];
    }
    else if (char === '-' && result === 0){
    	needSign = true;
    }
    else if (char === " "){
    	break;
    }
  }
  
  if (needSign) result = - result;
  
  if (result > 2147483647 || result < -2147483648) result = 0;
  
  return result;
}

function perform(){
	var number = document.getElementById('input-number').value;
  
  var result = AtoI(number);
  
  document.getElementById('result').innerHTML = result;
}