Visualizzazione risultati 1 fino 1 di 1

Discussione: un'altra funzione che formatta i numeri..ma

  1. #1
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito un'altra funzione che formatta i 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>
    		
    		<p>
    
    			You can type into the fields below and see the results of the functions.
    		</p>
    		<div>
    			numberFormat():<br>
    			<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>
    			<br>
    		</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
    Ultima modifica di gianlucaweb : 14-12-2010 alle ore 18.09.48

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •