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