2009-09-22 4 views
3

Je cherche un moyen efficace de réduire le nombre flottant à Javascript qui sont longs. J'ai besoin de ceci parce que ma sortie pour prendre le pourcentage de deux nombres peut être quelquefois comme 99.4444444 pendant que je m'intéresse seulement aux 2 premiers chiffres après "." tels que 99,44shortening Javascript number

Ma fonction actuelle de prise de pourcentage pour 2 numéros:

function takePercentage(x,y){ 
    return (x /y) * 100; 
} 

Répondre

2

Que diriez-vous ceci:

Math.round(myfloatvalue*100)/100 
+0

cela fonctionne avec google visualization api génération de table alors que "toFixed (2)" ne fonctionne pas. – Hellnar

7

Vous pouvez utiliser le numéro. toFixed:

function takePercentage(x,y){ 
    return ((x /y) * 100).toFixed(2); 
} 
+0

Notez que toFixed n'arrondir des nombres dans IE, qui peut se combiner avec des inexactitudes à virgule flottante pour donner des résultats inattendus. – bobince

2
function takePercentage(x,y){ 
    n = (x /y) * 100; 
    return n.toPrecision(2); 
} 

Cela devrait le faire!

+2

ce n'est pas correct. 99.345.toPrecision (2) par exemple renvoie "99" –

+0

toPresicion renvoie le nombre arrondi avec une précision de ** chiffres significatifs **, c'est-à-dire: '123.456.toPrecision (3) == 123;', '123.456.toPrecision (2) == 120; ';' 123.456.toPrecision (4) == 123.5; 'plus d'informations ici: http://is.gd/3zchw, vous devez également utiliser l'instruction' var' pour déclarer 'n', si vous ne n est pas déclaré globalement – CMS

Questions connexes