Как лучше всего убрать "0" XXX% с числа и сделать его процентным? Что произойдет, если число окажется целым?
var number1 = 4.954848;
var number2 = 5.9797;
$(document).ready(function() {
final = number1/number2;
alert(final.toFixed(2) + "%");
});
javascript
math
user1040259
источник
источник
Math.floor
? А нетMath.round
? Даже в вашем примере4.954848 / 5.9797
ближе ,83%
чем82%
Ваш код выхода.~~
он гораздо менееMath.floor
источник
Лучшее решение, где
en
английская локаль:fraction.toLocaleString("en", {style: "percent"})
источник
fraction.toLocaleString("en", { style: "percent", minimumFractionDigits: 2 })
См. stackoverflow.com/a/29773435/411428Что ж, если у вас есть такое число,
0.123456
которое является результатом деления для получения процента, умножьте его на 100, а затем либо округлите, либо используйтеtoFixed
как в вашем примере.Вот плагин jQuery для этого:
Использование:
источник
jQuery.round
иjQuery.divide
иjQuery.multiply
Numeral.js - это созданная мной библиотека, которая может форматировать числа, валюту, проценты и поддерживает локализацию.
numeral(0.7523).format('0%') // returns string "75%"
numeral.js
источник
numeral.js
произошла 27 марта 2017 года. Либо библиотека идеальна (без дефектов), либо она больше не поддерживается. По состоянию на 28 января 2019 года у проекта 135 открытых проблем, самая старая из которых датируется ноябрем 2012 года. Количество открытых проблем без фиксации за почти 2 года предполагает, что за проектом больше не следят. Рад убедиться в обратном.вар процент = Math.floor (100 * число1 / число2 - 100) + '%';
источник
В большинстве ответов предлагается добавить в конце «%». Я бы предпочел
Intl.NumberFormat()
с{ style: 'percent'}
источник
Ответ @xtrem хорош, но я думаю, что
toFixed
иmakePercentage
они широко используются. Определите две функции, и мы можем использовать их везде.источник