Bonjour à toutes et à tous !

J'ai écrit une fonction qui créée un nombre aléatoire, auquel je fixe une limite pour le nombre de décimales (2 dans mon cas), voici la ligne de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function decimal(a, b) {
  let operationElements = document.getElementsByClassName(a);
  for (let i = 0; i < operationElements.length; i++) {
    let nombre1 = Math.random() < 0.5 ? 0.5 : 0.1;
    let nombre2 = +(Math.random() * 99).toFixed(b);
    let operation = nombre1 + "\u00d7" + nombre2;
    operationElements[i].innerHTML = operation;
    if (nombre1 === 0.5) {
      reponse = 0.5 * nombre2;
    } else {
      reponse = 0.1 * nombre2;
    }
  }
}
Mais je ne comprends pas pourquoi, parfois, elle me retourne une valeur avec beaucoup plus de décimale... J'ai aussi testé la fonction parseFloat, mais rien n'a faire ...

Quelqu'un aurait la solution s'il vous plait ?!