1234567891011121314151617181920212223242526272829303132333435 |
- var root = require('./_root'),
- toInteger = require('./toInteger'),
- toNumber = require('./toNumber'),
- toString = require('./toString');
- var nativeIsFinite = root.isFinite,
- nativeMin = Math.min;
- function createRound(methodName) {
- var func = Math[methodName];
- return function(number, precision) {
- number = toNumber(number);
- precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);
- if (precision && nativeIsFinite(number)) {
-
-
- 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;
|