Quelle est la meilleure façon de supprimer le "0"? XXX% d'un nombre et d'en faire un pourcentage? Qu'advient-il si le nombre se trouve être un int?
var number1 = 4.954848;
var number2 = 5.9797;
$(document).ready(function() {
final = number1/number2;
alert(final.toFixed(2) + "%");
});
Un pourcentage est juste:
(number_one / number_two) * 100
Pas besoin de rien d'extraordinaire:
var number1 = 4.954848;
var number2 = 5.9797;
alert(Math.floor((number1 / number2) * 100)); //w00t!
((portion/total) * 100).toFixed(2) + '%'
La meilleure solution, où en
est la langue anglaise:
fraction.toLocaleString("en", {style: "percent"})
Eh bien, si vous avez un nombre comme 0.123456
qui est le résultat d’une division donnant un pourcentage, multipliez-le par 100, puis arrondissez-le ou utilisez toFixed
comme dans votre exemple.
Math.round(0.123456 * 100) //12
Voici un plugin jQuery pour le faire:
jQuery.extend({
percentage: function(a, b) {
return Math.round((a / b) * 100);
}
});
Usage:
alert($.percentage(6, 10));
Numeral.js est une bibliothèque que j'ai créée et qui peut formater des nombres, des devises, des pourcentages et prendre en charge la localisation.
numeral(0.7523).format('0%') // returns string "75%"
var pourcent = Math.floor (100 * number1/number2 - 100) + '%';
La réponse de @ xtrem est bonne, mais je pense que la toFixed
et la makePercentage
sont une utilisation courante. Définissez deux fonctions, et nous pouvons les utiliser partout.
const R = require('ramda')
const RA = require('ramda-adjunct')
const fix = R.invoker(1, 'toFixed')(2)
const makePercentage = R.when(
RA.isNotNil,
R.compose(R.flip(R.concat)('%'), fix, R.multiply(100)),
)
let a = 0.9988
let b = null
makePercentage(b) // -> null
makePercentage(a) // -> 99.88%