SIGN IN SIGN UP

A modern JavaScript utility library delivering modularity, performance, & extras.

0 0 17 JavaScript
2016-05-07 11:49:46 -07:00
define(['./toFinite'], function(toFinite) {
2015-12-16 17:53:20 -08:00
/**
* Converts `value` to an integer.
*
2016-05-21 00:48:34 -07:00
* **Note:** This method is loosely based on
2016-08-07 21:21:03 -07:00
* [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).
2015-12-16 17:53:20 -08:00
*
* @static
* @memberOf _
2016-03-26 00:00:01 -07:00
* @since 4.0.0
2015-12-16 17:53:20 -08:00
* @category Lang
* @param {*} value The value to convert.
* @returns {number} Returns the converted integer.
* @example
*
2016-05-07 11:49:46 -07:00
* _.toInteger(3.2);
2015-12-16 17:53:20 -08:00
* // => 3
*
* _.toInteger(Number.MIN_VALUE);
* // => 0
*
* _.toInteger(Infinity);
* // => 1.7976931348623157e+308
*
2016-05-07 11:49:46 -07:00
* _.toInteger('3.2');
2015-12-16 17:53:20 -08:00
* // => 3
*/
function toInteger(value) {
2016-05-07 11:49:46 -07:00
var result = toFinite(value),
remainder = result % 1;
return result === result ? (remainder ? result - remainder : result) : 0;
2015-12-16 17:53:20 -08:00
}
return toInteger;
});