• User Attivo

    Numero di cifre decimali

    Ho dei campi di testo che devono essere riempiti in automatico, facendo dei calcoli, con Javascript. Questi campi conterranno dei numeri decimali. Io voglio che le cifre dopo la virgola siano sempre 2, perchè si tratta di euro. Ad esempio, se il risultato è 6.4 voglio che mi venga visualizzato 6.40
    Ho cercato dappertutto, ma non ho trovato soluzione. Come posso fare? Se può essere utile, nel sito uso JQuery.


  • Super User

    Prova con questa funzione:

    
    function RiempiDecimali(numero) {
    //Divido in due il numero, parte intera e parte decimale
       number_part = numero.split(".");
    //Se la parte decimale non è presente
       if(number_part[1]==undefined)
    //Aggiungo ".00" alla parte intera
       		return number_part[0].replace(/\.+$/,"")+".00";
    //Se la parte decimale contiene solouna cifra aggiungo uno "0"
       else if(number_part[1].length < 2)
    		return number_part[0].replace(/\.+$/,"")+"."+number_part[1]+"0";
    }
    
    

  • User Attivo

    Grazie mille. Ci provo, poi ti so dire.:ciauz:


  • User Attivo

    Grazie infinite: ha funzionato :smile5:
    Ho fatto solo una piccola modifica per troncare i decimali oltre i 2:

    [html]
    function RiempiDecimali(numero) {

    //Divido in due il numero, parte intera e parte decimale
       number_part = numero.split(".");
    //Se la parte decimale non è presente
       if(number_part[1]==undefined)
    //Aggiungo ".00" alla parte intera
               return number_part[0].replace(/\.+$/,"")+".00";
    //Se la parte decimale contiene solouna cifra aggiungo uno "0"
       //else if(number_part[1].length < 2)
        //    return number_part[0].replace(/\.+$/,"")+"."+number_part[1]+"0";
       else if(number_part[1].length < 2){
            return number_part[0].replace(/\.+$/,"")+"."+number_part[1]+"0";
       }else if(number_part[1].length > 2){
           var i = numero * Math.pow(10,2);
           i = Math.round(i);
           return i / Math.pow(10,2);
       }
    }
    

    [/html]