UNPKG

dtable-utils

Version:

dtable common utils

49 lines (43 loc) 1.42 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); /** * Check whether is number * @param {number} number * @returns boolean */ var isNumber = function isNumber(number) { return (number || number === 0) && Object.prototype.toString.call(number) === '[object Number]'; }; /** * Check whether the numbers is equal * Two numbers are considered equal if the absolute value of their difference is less than 0.00001 * @param {number} leftNumber * @param {number} rightNumber * @returns bool */ var isNumberEqual = function isNumberEqual(leftNumber, rightNumber) { return leftNumber === rightNumber || Math.abs(leftNumber - rightNumber) < 0.00001; }; /** * Math.round(number) with digits * @param {number} number * @param {number} decimalDigits, default as 0 * @returns number */ var round = function round(number) { var decimalDigits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; if (decimalDigits === 0) { return Math.round(number); } var offsets = Math.pow(10, decimalDigits); var fixedNum = number * offsets; if (decimalDigits > 0) { // unexpected precision problem // e.g. round(8330.845, 2): 8330.845 * 100 = 833084.4999999999 fixedNum = Number.parseFloat(fixedNum.toFixed(1)); } return Math.round(fixedNum) / offsets; }; exports.isNumber = isNumber; exports.isNumberEqual = isNumberEqual; exports.round = round;