Round in JavaScript con definizione del numero di decimali

Se ritieni utile questo articolo, considera la possibilità di effettuare una donazione (il cui importo è a tua completa discrezione) tramite PayPal. Grazie.

In questo breve articolo vediamo come realizzare una semplicissima funzione JavaScript e utilizzarla per estendere i valori numerici così da poter effettuare direttamente l'arrotondamento definendo il numero di cifre decimali desiderate.
Data la semplicità di quanto vogliamo realizzare, passiamo subito all'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;

A questo punto possiamo 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.1416

Volendo invece utilizzare la funzionalità in modalità "stand-alone" apportiamo qualche piccola modifica allo script di cui sopra:

function roundTo(value, decimalpositions)
{
    var i = value * Math.pow(10,decimalpositions);
    i = Math.round(i);
    return i / Math.pow(10,decimalpositions);
}

Che richiameremo come di seguito:

var x = 3.14159;
alert( roundTo(x, 2) );    // 3.14
alert( roundTo(x, 4) );    // 3.1416