export const round2 = (num: number) => {
  if (Number.isInteger(num)) {
    return num;
  }
  return Math.round(num * 100) / 100;
};

export const calculerPourcentage = (a: number, b: number): number => {
  if (typeof a === "number" && typeof b === "number" && b !== 0) {
    return (a / b) * 100;
  } else return 0;
};

export const rInt = (min: number, max: number) => {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min + 1)) + min;
};

export const getRandomInt = () => {
  return Math.floor(Math.random() * 1_000_000_000_000);
};

export const hasDecimal = (nb: number) => nb % 1 != 0;

export const fixPrice = (nb: number) =>
  hasDecimal(nb) ? Number(nb.toFixed(2)) : nb;

export const toPrice = (nb: number) => `${nb.toFixed(2)} €`;

export const calculerRemise = (prix: number, pourcentage: number): number => {
  return fixPrice(prix - (prix * pourcentage) / 100);
};

export const randCode = (): number => {
  return Math.floor(Math.random() * (999999 - 100000 + 1) + 100000);
};

export const array0ToN = (n: number): number[] => {
  return [...Array(n).keys()];
};

export const array1ToN = (n: number): number[] => {
  return [...Array(n + 1).keys()].slice(1);
};
