UNPKG

ut2

Version:

一个现代 JavaScript 实用工具库。[点击查看在线文档]。

22 lines (19 loc) 767 B
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 };