Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    536

    Nuova funzione formatta numeri ma....

    Ciao

    Nell'attesa di capirci qualcosa con i gestori onkeyup o onkeydown
    suggeritomi nella mia discussione precedente,

    ho trovato questo codice che formatta i numeri aggiungendo una virgola per le migliaia:


    codice:
    // This function formats numbers by adding commas
    function numberFormat(nStr){
      nStr += '';
      x = nStr.split('.');
      x1 = x[0];
      x2 = x.length > 1 ? '.' + x[1] : '';
      var rgx = /(\d+)(\d{3})/;
      while (rgx.test(x1))
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
      return x1 + x2;
    }

    Questo il codice che la utilizza:


    codice:
    html xmlns="http://www.w3.org/1999/xhtml"><head>
    
    	
    		<meta http-equiv="content-language" content="en-us">
    		<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    		
    		<title>Javascript functions for dealing with numbers</title>
    		<script type="text/javascript" src="nlb-num.js"></script>
    		<style type="text/css">
    			form { margin: 0px; }
    			body { width: 600px; }
    		</style>
    	</head><style></style><body>
    		
    		
    
    
    
    			You can type into the fields below and see the results of the functions.
    		</p>
    		<div>
    			numberFormat():
    
    			<form method="get" onsubmit="javascript:return false;" action="nlb-num.html">
    				<input onkeyup="javascript:document.getElementById('numFormatResult').innerHTML = numberFormat( this.value );" type="text">
    				<input value="clear" type="reset">
    			</form>
    			<span id="numFormatResult"></span>
    			
    
    		</div>
    	</body></html>

    Ok.

    La funzione fa il suo dovere, ma dovrei fare delle modifiche.
    Al posto della virgola per le migliaia (usata per la valuta americana) dovrei sostituire il punto.
    Inoltre vorrei avere la possibilità di aggiungere anche i decimali (i cent per l'euro).
    Per i decimali per comodità ( con la tastiera numerica ma anche perchè il valore deve essere inserito così nel DB) vorrei usare il tasto punto.
    Quindi battendo ad esempio:

    1250.25

    vorrei visualizzare una cosa tipo:

    1.250,25 (euro)

    Come devo modificare la funzione di cui sopra?

    Grazie

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    L'argomento lo stai gia' trattando altrove ed il codice della funzione e' praticamente identitico... qui chiudo
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca 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.