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
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);
}
}