ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
22 lines (19 loc) • 767 B
JavaScript
import isFinite from '../isFinite.js';
import toInteger from '../toInteger.js';
import toNumber from '../toNumber.js';
import toString from '../toString.js';
import { mathMin } from './native.js';
function decimalAdjust(type, value, precision) {
if (precision === void 0) { precision = 0; }
var func = Math[type];
value = toNumber(value);
precision = mathMin(toInteger(precision), 292);
if (precision === 0 || !isFinite(value)) {
return func(value);
}
var pair = toString(value).split('e');
value = func(+(pair[0] + 'e' + (pair[1] ? +pair[1] + precision : precision)));
pair = toString(value).split('e');
return +(pair[0] + 'e' + (pair[1] ? +pair[1] - precision : -precision));
}
export { decimalAdjust as default };