app/src/utils/numbers.tstypescript
/**
* Numeric utility functions
* @module Util:Numbers
*/
import { debug } from "./logging";
export function roundToDecimals(number: number, decimals: number): number {
debug(`Rounding number ${number} to ${decimals} decimals`);
const factor = decimals == 0 ? 1 : 10 ** decimals;
return Math.round(number * factor) / factor;
}
export function clamp(
number: number,
min: number,
max: number,
roundDecimals: number | null = null
): number {
debug(`Clamping number ${number} to range [${min}, ${max}]`);
if (roundDecimals !== null) {
number = roundToDecimals(number, roundDecimals);
}
return Math.min(Math.max(number, min), max);
}