Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Imprementare controllo decimali

    Ciao a tutti, sto cercando di implementare il seguente codice il quale dopo aver digitato un valore aggiunge i decimali .00 (se non specificati).

    E' capitato purtroppo che inserendo un valore tramite copia incolla mi ritrovo con un valore ad esempio 1580,95.00 e vorrei che la virgola venga convertita in punto e i decimali anch'essi riconosciuti.. Il codice è il seguente.. Si può fare qualcosa?

    codice:
    function controlla(test)	{
    	var pattern = /^(([1-9]{1}\d{8})+\.)+(\d{2})+$/;
    	var campo = document.getElementById("importo");
    	if (test.value.indexOf(".")<0)
    		{
    		test.value=test.value+".00";
    		}
    	}

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, non capisco il tuo script ma prova con una cosa del genere, sempre che io abbia capito il problema:
    codice:
    parseFloat(Math.round(campo.value.replace(",",".")*100)/100).toFixed(2);
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    In pratica vorrei che il valore finale digitato sia comprensivo del solo punto separatore dei decimali.
    Ad esempio: 25600.10 e non 25.600,10 o 25600,10 o 25.600.10

    In più vorrei che se i decimali non vengono specificati, il valore finale dovrà risultare ad esempio 25600.00

    Si può fare?

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Sì, si può fare.
    Posto un esempio dimostrativo completo. Vedi tu come meglio adeguarlo al tuo caso.
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <script type="text/javascript">
          function formattaValore(){
            risultato.value = parseFloat(Math.round(campo.value.replace(/,/g,".").replace(/\.(?=\d+)(?!\d*\s*$)/g,"")*100)/100).toFixed(2);
          }
        </script>
      </head>
      <body>
        <label>Inserisci un numero <input id="campo" onBlur="formattaValore()" onInput="formattaValore()" placeholder="es: 123.456,78"></label>
        <br><label>Risultato formattato <input id="risultato" readonly disabled></label>
      </body>
    </html>
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.