UNPKG

chopcal

Version:
29 lines (23 loc) 2.28 kB
/** * Chop to round. * @function round * @param {number} value - Value to calc. * @param {number} [base=1] - Base number. * @returns {number} - Round number. */ 'use strict'; var surplus = require('./surplus'); /** @lends round */ function round(value, base) { base = base || 0; var surplused = surplus(value, base); var result = value - surplused; var enough = base / 2 < surplused; if (enough) { result += base; } var weight = 1 / base; return parseInt(result * weight) / weight; } module.exports = round; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJvdW5kLmpzIl0sIm5hbWVzIjpbInN1cnBsdXMiLCJyZXF1aXJlIiwicm91bmQiLCJ2YWx1ZSIsImJhc2UiLCJzdXJwbHVzZWQiLCJyZXN1bHQiLCJlbm91Z2giLCJ3ZWlnaHQiLCJwYXJzZUludCIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0FBT0E7O0FBRUEsSUFBTUEsT0FBTyxHQUFHQyxPQUFPLENBQUMsV0FBRCxDQUF2QjtBQUVBOzs7QUFDQSxTQUFTQyxLQUFULENBQWdCQyxLQUFoQixFQUF1QkMsSUFBdkIsRUFBNkI7QUFDM0JBLEVBQUFBLElBQUksR0FBR0EsSUFBSSxJQUFJLENBQWY7QUFDQSxNQUFJQyxTQUFTLEdBQUdMLE9BQU8sQ0FBQ0csS0FBRCxFQUFRQyxJQUFSLENBQXZCO0FBQ0EsTUFBSUUsTUFBTSxHQUFHSCxLQUFLLEdBQUdFLFNBQXJCO0FBQ0EsTUFBSUUsTUFBTSxHQUFJSCxJQUFJLEdBQUcsQ0FBUixHQUFhQyxTQUExQjs7QUFDQSxNQUFJRSxNQUFKLEVBQVk7QUFDVkQsSUFBQUEsTUFBTSxJQUFJRixJQUFWO0FBQ0Q7O0FBQ0QsTUFBSUksTUFBTSxHQUFHLElBQUlKLElBQWpCO0FBQ0EsU0FBT0ssUUFBUSxDQUFDSCxNQUFNLEdBQUdFLE1BQVYsQ0FBUixHQUE0QkEsTUFBbkM7QUFDRDs7QUFFREUsTUFBTSxDQUFDQyxPQUFQLEdBQWlCVCxLQUFqQiIsInNvdXJjZVJvb3QiOiIuLi8uLi9saWIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENob3AgdG8gcm91bmQuXG4gKiBAZnVuY3Rpb24gcm91bmRcbiAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZSAtIFZhbHVlIHRvIGNhbGMuXG4gKiBAcGFyYW0ge251bWJlcn0gW2Jhc2U9MV0gLSBCYXNlIG51bWJlci5cbiAqIEByZXR1cm5zIHtudW1iZXJ9IC0gUm91bmQgbnVtYmVyLlxuICovXG4ndXNlIHN0cmljdCdcblxuY29uc3Qgc3VycGx1cyA9IHJlcXVpcmUoJy4vc3VycGx1cycpXG5cbi8qKiBAbGVuZHMgcm91bmQgKi9cbmZ1bmN0aW9uIHJvdW5kICh2YWx1ZSwgYmFzZSkge1xuICBiYXNlID0gYmFzZSB8fCAwXG4gIGxldCBzdXJwbHVzZWQgPSBzdXJwbHVzKHZhbHVlLCBiYXNlKVxuICBsZXQgcmVzdWx0ID0gdmFsdWUgLSBzdXJwbHVzZWRcbiAgbGV0IGVub3VnaCA9IChiYXNlIC8gMikgPCBzdXJwbHVzZWRcbiAgaWYgKGVub3VnaCkge1xuICAgIHJlc3VsdCArPSBiYXNlXG4gIH1cbiAgbGV0IHdlaWdodCA9IDEgLyBiYXNlXG4gIHJldHVybiBwYXJzZUludChyZXN1bHQgKiB3ZWlnaHQpIC8gd2VpZ2h0XG59XG5cbm1vZHVsZS5leHBvcnRzID0gcm91bmRcbiJdfQ==