Ajouter .00 (toFixed) seulement si le nombre a moins de deux décimales

J'ai besoin d'ajouter des zéros, de sorte que chaque nombre a au moins deux chiffres après la virgule, mais, sans arrondi. Ainsi, par exemple:

5      --> 5.00
5.1    --> 5.10
5.11   --> 5.11 (no change)
5.111  --> 5.111 (no change)
5.1111 -->  5.1111  (no change) 

Ma fonction est de manquer une SI de vérifier pour moins de deux décimales:

function addZeroes( num ) {
   var num = Number(num);
   if ( //idk ) {
      num = num.toFixed(2);
   }
   return num;
}

Merci!

De poster une alternative la réponse, en plus des deux ci-dessous. (Gardez à l'esprit que je ne suis pas un expert et c'est juste des entrées de texte, pas pour l'analyse des valeurs complexes comme les couleurs qui pourraient avoir à virgule flottante, etc.)

function addZeroes( value ) {
    //set everything to at least two decimals; removs 3+ zero decimasl, keep non-zero decimals
    var new_value = value*1; //removes trailing zeros
    new_value = new_value+''; //casts it to string

    pos = new_value.indexOf('.');
    if (pos==-1) new_value = new_value + '.00';
    else {
        var integer = new_value.substring(0,pos);
        var decimals = new_value.substring(pos+1);
        while(decimals.length<2) decimals=decimals+'0';
        new_value = integer+'.'+decimals;
    }
    return new_value;
}

[Ce n'est pas une double question. La question que vous avez lié assume "sachant qu'ils ont au moins 1 chiffre après la virgule." Les points décimaux ne peut être assumée dans le texte des entrées, et c'était de faire des erreurs.]

source d'informationauteur Jennifer Michelle