JavaScript
A differenza di altri linguaggi (ad es., PHP), ed a meno di ricorrere a qualche plugin jQuery (ad es., number), Javascript non ha una funzione built-in o nativa per determinare in modo diretto quanti decimali (generalmente, due) debba avere un numero, intero o meno (ad es., 1.00 o 1.50).
A tale lacuna di solito si rimedia attraverso il metodo toFixed()
, il quale consente sì di ottenere il numero voluto di cifre decimali (da passargli come argomento), ma restituisce sempre una stringa, che è poi opportuno trasformare in numero, ad esempio attraverso l’ulteriore metodo parseFloat()
(cfr. Soluzione 1), oppure assegnando al risultato stesso il valore positivo (cfr. Soluzione 2).
<script> function FuncDecimale1() { var mioNumero = 123.456; var duedecimali_stringa = mioNumero.toFixed(2); var duedecimali_numero = parseFloat(mioNumero.toFixed(2)); alert (duedecimali_stringa + " ("+ typeof duedecimali_stringa +")\n"+duedecimali_numero + " ("+ typeof duedecimali_numero +")"); } </script> <button onclick="FuncDecimale1()">OK</button>
<script> function FuncDecimale2() { var mioNumero = 123.456; var duedecimali_stringa = mioNumero.toFixed(2); var duedecimali_numero = +((mioNumero).toFixed(2)); alert (duedecimali_stringa + " ("+ typeof duedecimali_stringa +")\n"+duedecimali_numero + " ("+ typeof duedecimali_numero +")"); } </script> <button onclick="FuncDecimale2()">OK</button>
Per l’arrotondamento del decimale al numero intero è possibile usare i metodi:
Math.round([numero])
, per arrotondare secondo le regole standard (123,4 -> 123 e 123,5 -> 124)
Math.ceil([numero])
, per arrotondare in ogni caso per eccesso (ad es., 123,99 -> 123).
Math.floor([numero])
, per arrotondare in ogni caso per difetto (ad es., 123,01 -> 124).
<script> function arrotonda1() { var mioNumero = 123.456; var intero1 = Math.round(mioNumero); var intero2 = Math.ceil(mioNumero); var intero3 = Math.floor(mioNumero); alert (intero1 + " (round), " + intero2 + " (ceil), " + intero3 + " (floor)"); } </script> <button onclick="arrotonda1()">OK</button>
PHP
La funzione round($numero, [numerodecimali])
consente di ottenere il numero voluto di cifre decimali.
Per l’arrotondamento del decimale al numero intero è possibile usare le funzioni:
round($numero)
, per arrotondare secondo le regole standard (123,4 -> 123 e 123,5 -> 124)
ceil($numero)
, per arrotondare in ogni caso per eccesso (ad es., 123,99 -> 123).
floor($numero)
, per arrotondare in ogni caso per difetto (ad es., 123,01 -> 124).
0 Comment