isInt-vs-isInteger

Benchmark created on


Description

isInt() a native JS function vs isInteger a regex based function

Preparation HTML

<script>
  function isInt(x) {
   var y = parseInt(x);
  
   if (isNaN(y)) return false;
  
   var sign = x.toString().charAt(0);
  
   if (sign == "+" && x == ("+" + y)) {
    return true;
   }
   else if (x == y) {
    return true;
   }
   else return false;
  }
  
  function isIntegerOLD(s) {
   return (s.toString().search(/^[-]?[0-9]+$/) == 0);
  }
  
  function isInteger(s) {
   return (s.toString().search(/^[-+]?[0-9]+(\.[0]*)?$/) == 0);
  }
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
isInt positive Test
isInt(19);
isInt(-19);
isInt(+19);

isInt(19.00);
isInt(-19.00);
isInt(+19.00);

isInt("19");
isInt("-19");
isInt("+19");

isInt("19.00");
isInt("-19.00");
isInt("+19.00");
ready
isInteger positive Test
isInteger(19.0);
isInteger(-19.0);
isInteger(+19.0);

isInteger(19.00);
isInteger(-19.00);
isInteger(+19.00);

isInteger("19");
isInteger("-19");
isInteger("+19");

isInteger("19.00");
isInteger("-19.00");
isInteger("+19.00");
ready
isInt negative Test
isInt(19.9);
isInt(-19.9);
isInt(+19.9);

isInt(19.09);
isInt(-19.09);
isInt(+19.09);

isInt("19.9");
isInt("-19.9");
isInt("+19.9");

isInt("19.09");
isInt("-19.09");
isInt("+19.09");
ready
isInteger negative Test
isInteger(19.9);
isInteger(-19.9);
isInteger(+19.9);

isInteger(19.09);
isInteger(-19.09);
isInteger(+19.09);

isInteger("19.9");
isInteger("-19.9");
isInteger("+19.9");

isInteger("19.09");
isInteger("-19.09");
isInteger("+19.09");
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.