1 | import toInteger from './toInteger';
|
2 | import toNumber from './toNumber';
|
3 | import toString from './toString';
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 | function createRound(methodName) {
|
13 | var func = Math[methodName];
|
14 | return function(number, precision) {
|
15 | number = toNumber(number);
|
16 | precision = toInteger(precision);
|
17 | if (precision) {
|
18 |
|
19 |
|
20 | var pair = (toString(number) + 'e').split('e'),
|
21 | value = func(pair[0] + 'e' + (+pair[1] + precision));
|
22 |
|
23 | pair = (toString(value) + 'e').split('e');
|
24 | return +(pair[0] + 'e' + (+pair[1] - precision));
|
25 | }
|
26 | return func(number);
|
27 | };
|
28 | }
|
29 |
|
30 | export default createRound;
|