Qual é a melhor maneira de retirar o "0". XXX% de um número e torná-lo uma porcentagem? O que acontecerá se o número for um int?
var number1 = 4.954848;
var number2 = 5.9797;
$(document).ready(function() {
final = number1/number2;
alert(final.toFixed(2) + "%");
});
javascript
math
user1040259
fonte
fonte
Math.floor
? E nãoMath.round
? Até mesmo em seu exemplo4.954848 / 5.9797
está mais próximo do83%
que em82%
suas saídas de código.~~
muito restrito, é muito menos legível do queMath.floor
fonte
A melhor solução, onde
en
está a localidade em inglês:fraction.toLocaleString("en", {style: "percent"})
fonte
fraction.toLocaleString("en", { style: "percent", minimumFractionDigits: 2 })
Veja stackoverflow.com/a/29773435/411428Bem, se você tem um número como
0.123456
esse é o resultado de uma divisão para dar uma porcentagem, multiplique-o por 100 e depois arredonde ou usetoFixed
como no seu exemplo.Aqui está um plugin jQuery para fazer isso:
Uso:
fonte
jQuery.round
ejQuery.divide
ejQuery.multiply
Numeral.js é uma biblioteca que criei que pode formatar números, moedas, porcentagens e tem suporte para localização.
numeral(0.7523).format('0%') // returns string "75%"
numeral.js
fonte
numeral.js
foi 27 de março de 2017. Ou a biblioteca é perfeita (sem defeitos) ou não é mais mantida ativamente. Em 28 de janeiro de 2019, o projeto tinha 135 questões em aberto, sendo a mais antiga de novembro de 2012. O número de questões em aberto sem compromisso em quase 2 anos sugere que o projeto não é mais mantido. Feliz por ser convencido do contrário.var percent = Math.floor (100 * número1 / número2 - 100) + '%';
fonte
A maioria das respostas sugere acrescentar '%' no final. Eu prefiro
Intl.NumberFormat()
com{ style: 'percent'}
fonte
A resposta de @xtrem é boa, mas acho que
toFixed
emakePercentage
são de uso comum. Defina duas funções e podemos usar isso em qualquer lugar.fonte