|
@@ -8,6 +8,27 @@ function DeepClone(toClone) {
|
|
|
return JSON.parse(JSON.stringify(toClone));
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ * Check whether the value at a specific spot in a number is non-zero
|
|
|
+ *
|
|
|
+ * Similar to the bitwise & operator, checks a "place" in a decimal number
|
|
|
+ * to see if it has a non-zero value.
|
|
|
+ *
|
|
|
+ * @example
|
|
|
+ * const test = 107;
|
|
|
+ * console.log(DecimalPlaceIsNonZero(test, 1))
|
|
|
+ * console.log(DecimalPlaceIsNonZero(test, 2))
|
|
|
+ * console.log(DecimalPlaceIsNonZero(test, 3))
|
|
|
+ *
|
|
|
+ * @param {number} input The number to check
|
|
|
+ * @param {number} place The power of 10 to check against
|
|
|
+ * @returns {boolean} Whether the value in that number's place is non-zero
|
|
|
+ */
|
|
|
+function DecimalPlaceIsNonZero(input, place) {
|
|
|
+ return !!Math.floor((input % (10 ** place)) / (10 ** (place - 1)));
|
|
|
+}
|
|
|
+
|
|
|
module.exports = {
|
|
|
DeepClone: DeepClone,
|
|
|
+ DecimalPlaceIsNonZero: DecimalPlaceIsNonZero,
|
|
|
};
|