JSFiddle - React, Tailwind, and code Playground

JavaScript

function scaleUp(val) {
  let i = 0;
  while (val < 10) {
    i++;
    val *= 10;
  }
  return [val, i];
}

function scaleDown(valArr) {
  let v = valArr[0];
  for (let i = 0; i < valArr[1]; i++) {
    v /= 10;
  }
  return v;
}

function test(fval) {
  let va = scaleUp(fval);
  let v = scaleDown(va);
  console.log(fval, va, v);
  if (fval !== v) {
    console.error(fval, va, v);
    throw new Error("NE!!!");
  }
}

for (let i = 0; i <= 10; i++) {
  let r = Math.random() / Math.pow(10, i);
  test(r);
}