es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Añadiendo coma mientras el usuario escribe números (Ej: 1,000 / 10,000 / 100,000 / 1,000,000 / 10,000,000, etc.)

Soy un traductor de español que traduce documentos de TI. Traduzca lo siguiente al español. No traduzca el código y la salida en markdown

Soy un novato. Investigué y pude escribir este código que funciona muy bien. El único problema es que cuando el usuario escribe la cantidad no hay comas que separen los miles, millones, etc. ¿Alguien tiene alguna idea de cómo modificar o agregar algo al código para que cuando el usuario escriba números se agreguen automáticamente las comas? Ver código y captura de pantalla a continuación.

$w.onReady(function () {
    $w("#input247").onChange((Evento) => {

let precio = Number($w('#input247').value);
let porcentajeTradicional = Number ($w('#text556').text);
let porcentajeAgenteComprador = Number ($w('#text557').text);


$w("#input247").value = null;

$w('#text548').text = '$' + precio.toLocaleString();
$w('#text549').text = '$' + (precio * porcentajeTradicional).toLocaleString();
$w('#text550').text = '$' + (precio * porcentajeAgenteComprador).toLocaleString();
$w('#text551').text = '$' + (precio * porcentajeTradicional - precio * porcentajeAgenteComprador).toLocaleString();

    })})

captura de pantalla

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para agregar automáticamente comas como separador de miles cuando el usuario escribe números, puedes modificar el código utilizando el método toLocaleString() en la variable price.

    Reemplaza la línea let price = Number($w('#input247').value); con el siguiente código:

    let price = Number($w('#input247').value.replace(/,/g, ''));
    if (!isNaN(price)) {
       $w('#input247').value = price.toLocaleString();
    }
    

    Este código reemplazará cualquier coma en el campo de entrada con una cadena vacía utilizando el método replace(). Luego, verifica si el valor resultante es un número válido utilizando la función isNaN(). Si es un número válido, actualiza el campo de entrada con el número formateado utilizando el método toLocaleString().

    Aquí está el código modificado completo:

    $w.onReady(function () {
      $w("#input247").onChange((Event) => {
        let price = Number($w('#input247').value.replace(/,/g, ''));
        if (!isNaN(price)) {
          $w('#input247').value = price.toLocaleString();
        }
        let traditionalPercent = Number ($w('#text556').text);
        let buyersAgentPercent = Number ($w('#text557').text);
    
        $w('#text548').text = '$' + price.toLocaleString();
        $w('#text549').text = '$' + (price * traditionalPercent).toLocaleString();
        $w('#text550').text = '$' + (price * buyersAgentPercent).toLocaleString();
        $w('#text551').text = '$' + (price * traditionalPercent - price * buyersAgentPercent).toLocaleString();
    
      })
    })
    

    Este código modificado debería agregar comas automáticamente como separadores de miles cuando el usuario escribe números.

Comments are closed.