UNPKG

ut2

Version:

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

24 lines (20 loc) 794 B
'use strict'; var isFinite = require('../isFinite.js'); var toInteger = require('../toInteger.js'); var toNumber = require('../toNumber.js'); var toString = require('../toString.js'); var native = require('./native.js'); function decimalAdjust(type, value, precision) { if (precision === void 0) { precision = 0; } var func = Math[type]; value = toNumber(value); precision = native.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)); } module.exports = decimalAdjust;