- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- Formattazione numeri decimali e centesimi
-
Ciao, postami la funzione ad es.function roundTo(decimalpositions).
-
//arrotonda a decimalpositions cifre decimali
function roundTo(decimalpositions)
{
var i = this * Math.pow(10,decimalpositions);
i = Math.round(i);
return i / Math.pow(10,decimalpositions);
}
Number.prototype.roundTo = roundTo;
-
Per avere una più "ampia" visione.
Implementazione:
function roundTo(decimalpositions)
{
var i = this * Math.pow(10,decimalpositions);
i = Math.round(i);
return i / Math.pow(10,decimalpositions);
}
Number.prototype.roundTo = roundTo;Ora puoi richiedere a qualunque numero l'arrotondamento ad un dato numero di cifre decimali:
var x = 3.14159;
alert( x.roundTo(2) ); // 3.14
alert( x.roundTo(4) ); // 3.1416Se invece vuoi utilizzare la funzionalità in modalità "stand-alone", devi apportare delle piccole modifiche allo script suddetto e segnatamente:
function roundTo(value, decimalpositions)
{
var i = value * Math.pow(10,decimalpositions);
i = Math.round(i);
return i / Math.pow(10,decimalpositions);
}che richiamerai così:
var x = 4.24159;
alert( roundTo(x, 2) ); // 4.24
alert( roundTo(x, 4) ); // 4.2416
-
scusa ma io in realtà non devo arrotondare il numero...ma inserire solo il punto ai decimali!
Tipo che quando vado a fare la somma dei campi es. 100 ero + 1000 euro mi deve dare 1.100 e non 1100
-
Hai ragione, ma il codice che ti ho postato come esempio fa entrambe due le cose.
-
chettepossino..ma fammi un esempio...non sono capace!!!
sto facendo delle prove con questo numberFormat154.js
function roundTo()
{
var obj = document.getElementById('prezzo');
var num = new NumberFormat();
num.setInputDecimal(',');
num.setNumber(obj.value); // obj.value is '12305'
num.setPlaces('2', false);
num.setCurrencyValue('');
num.setCurrency(true);
num.setCurrencyPosition(num.LEFT_OUTSIDE);
num.setNegativeFormat(num.PARENTHESIS);
num.setNegativeRed(true);
num.setSeparators(true, '.', ',');
obj.value = num.toFormatted();}
..ma non riesco ad applicarlo a dovere!!!
-
Ancora un esempio:
var num = new NumberFormat (20801.275) toFormatted ().;
/ / Numero sarà uguale a 20,801.28
-
@Web Designer said:
Ancora un esempio:
var num = new NumberFormat (20801.275) toFormatted ().;
/ / Numero sarà uguale a 20,801.28ok..ora ci lavoro!
-
nulla...non so come inserirla..mi da errore
-
Per fare prima, usa questo form e poi fammi sapere: www(.)mredkj.com/javascript/numberFormatPage2.html
-
infatti ho provato propio quello ma non so come integrarlo...
questo è quello che fa perme:var num = new NumberFormat();
num.setInputDecimal(',');
num.setNumber(obj.value); // obj.value is '1200'
num.setPlaces('2', false);
num.setCurrencyValue('$');
num.setCurrency(false);
num.setCurrencyPosition(num.RIGHT_OUTSIDE);
num.setNegativeFormat(num.LEFT_DASH);
num.setNegativeRed(false);
num.setSeparators(true, '.', ',');
obj.value = num.toFormatted();