dtable-utils
Version:
dtable common utils
43 lines (39 loc) • 1.29 kB
JavaScript
/**
* 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;
};
export { isNumber, isNumberEqual, round };