Fixed invalid behaviour of extractIntegerAndDecimalParts for negative numbers

This commit is contained in:
sanex
2021-02-25 10:39:30 +03:00
parent 61d98966b1
commit 9c5b289fdd
6 changed files with 54 additions and 17 deletions
+1 -13
View File
@@ -20,7 +20,7 @@ export class NumberUtils {
* @returns {[number, (number | null)]}
*/
public static extractIntegerAndDecimalParts (number: number): [number, number | null] {
const integerPart: number = Math.floor(number);
const integerPart: number = Math.trunc(number);
const decimalPart: number | null = number !== integerPart
? number % 1
: null;
@@ -74,18 +74,6 @@ export class NumberUtils {
return number < Number.MIN_SAFE_INTEGER || number > Number.MAX_SAFE_INTEGER;
}
/**
* @param {number} number
* @param {number} delta
* @returns {boolean}
*/
public static isUnsafePrecisionNumber (number: number, delta: number): boolean {
const x: number = number + delta;
const x2: number = x - delta;
return number !== x2;
}
/**
* Returns all factors of a number
* Based on https://stackoverflow.com/a/43204663