Angular

Iniciado por DanielaPalma, Marzo 22, 2023, 01:01:36 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Marzo 22, 2023, 01:01:36 PM Ultima modificación: Mayo 03, 2023, 09:58:37 AM por DanielaPalma
Buenas! Estoy trabajando en el código de una billetera virtual y no logro hacer que se pueda transferir un millón de pesos. Alguno sabe lo qué estoy haciendo mal?

Adjunto código a continuación

Código: javascript
ionChangeAmount(view) {
    console.log("ionChangeAmount: " + view.form.controls.amount.value);

    let formatNumberWithPoints = (x) => {
      x = x.toString();
      var pattern = /(-?\d+)(\d{3})/;
      while (pattern.test(x)) x = x.replace(pattern, "$1.$2");
      return x;
    };
    let cleanAmount = view.form.controls.amount.value || "0";
    cleanAmount = parseInt(cleanAmount.replace(/\D+/g, "") || "0");
    if (
      !cleanAmount ||
      (view.item.amountMin && cleanAmount / 100 < view.item.amountMin) ||
      (view.item.amountMax && cleanAmount / 1000 > view.item.amountMax)
    ) {
      setTimeout(() => view.form.controls.amount.setErrors({ incorrect: true }));
    } else {
      setTimeout(() => view.form.controls.amount.setErrors(false));
    }
    let entire = Math.floor(cleanAmount / 100);
    let decimal = cleanAmount / 100 - entire;
    cleanAmount = formatNumberWithPoints(entire) + "," + decimal.toFixed(2).split(".")[1];
    if (cleanAmount && cleanAmount != "0") {
      view.form.controls.amount.setValue("$ " + cleanAmount);
    } else {
      view.form.controls.amount.setValue(null);
    }
  }
Daniela A. Palma