¿Cuál es la mejor manera de quitar el "0". XXX% de un número y convertirlo en un porcentaje? ¿Qué sucede si el número resulta ser un int?
var number1 = 4.954848;
var number2 = 5.9797;
$(document).ready(function() {
final = number1/number2;
alert(final.toFixed(2) + "%");
});
javascript
math
usuario1040259
fuente
fuente

Math.floor? Y noMath.round? Incluso en su ejemplo4.954848 / 5.9797está más cerca83%que a82%sus salidas de código.~~es mucho menos legible queMath.floorfuente
La mejor solución, donde
enestá la configuración regional en inglés:fraction.toLocaleString("en", {style: "percent"})fuente
fraction.toLocaleString("en", { style: "percent", minimumFractionDigits: 2 })Ver stackoverflow.com/a/29773435/411428Bueno, si tienes un número como
0.123456ese es el resultado de una división para dar un porcentaje, multiplícalo por 100 y luego redondea o usatoFixedcomo en tu ejemplo.Aquí hay un complemento de jQuery para hacer eso:
Uso:
fuente
jQuery.roundyjQuery.divideyjQuery.multiplyNumeral.js es una biblioteca que creé que puede formatear números, moneda, porcentajes y tiene soporte para la localización.
numeral(0.7523).format('0%') // returns string "75%"numeral.js
fuente
numeral.jsfue el 27 de marzo de 2017. O la biblioteca es perfecta (sin defectos) o ya no se mantiene activamente. Al 28 de enero de 2019, el proyecto tiene 135 problemas abiertos, siendo el más antiguo de noviembre de 2012. El número de problemas abiertos sin compromiso en casi 2 años sugiere que el proyecto ya no está siendo atendido. Feliz de estar convencido de lo contrario.var porcentaje = Math.floor (100 * número1 / número2 - 100) + '%';
fuente
La mayoría de las respuestas sugieren agregar '%' al final. Preferiría
Intl.NumberFormat()con{ style: 'percent'}fuente
La respuesta de @ xtrem es buena, pero creo que
toFixedymakePercentageson de uso común. Defina dos funciones, y podemos usarlas en todas partes.fuente