time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

toInteger.js (760B)


      1 var toFinite = require('./toFinite');
      2 
      3 /**
      4  * Converts `value` to an integer.
      5  *
      6  * **Note:** This method is loosely based on
      7  * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
      8  *
      9  * @static
     10  * @memberOf _
     11  * @since 4.0.0
     12  * @category Lang
     13  * @param {*} value The value to convert.
     14  * @returns {number} Returns the converted integer.
     15  * @example
     16  *
     17  * _.toInteger(3.2);
     18  * // => 3
     19  *
     20  * _.toInteger(Number.MIN_VALUE);
     21  * // => 0
     22  *
     23  * _.toInteger(Infinity);
     24  * // => 1.7976931348623157e+308
     25  *
     26  * _.toInteger('3.2');
     27  * // => 3
     28  */
     29 function toInteger(value) {
     30   var result = toFinite(value),
     31       remainder = result % 1;
     32 
     33   return result === result ? (remainder ? result - remainder : result) : 0;
     34 }
     35 
     36 module.exports = toInteger;