Bump to v4.1.0.

This commit is contained in:
John-David Dalton
2016-01-26 01:49:35 -08:00
parent d8d0500f37
commit bbd78fee4d
765 changed files with 1993 additions and 1233 deletions

30
_createRound.js Normal file
View File

@@ -0,0 +1,30 @@
var toInteger = require('./toInteger'),
toNumber = require('./toNumber'),
toString = require('./toString');
/**
* Creates a function like `_.round`.
*
* @private
* @param {string} methodName The name of the `Math` method to use when rounding.
* @returns {Function} Returns the new round function.
*/
function createRound(methodName) {
var func = Math[methodName];
return function(number, precision) {
number = toNumber(number);
precision = toInteger(precision);
if (precision) {
// Shift with exponential notation to avoid floating-point issues.
// See [MDN](https://mdn.io/round#Examples) for more details.
var pair = (toString(number) + 'e').split('e'),
value = func(pair[0] + 'e' + (+pair[1] + precision));
pair = (toString(value) + 'e').split('e');
return +(pair[0] + 'e' + (+pair[1] - precision));
}
return func(number);
};
}
module.exports = createRound;