Answers:
一个百分比就是:
(number_one / number_two) * 100
不需要任何花哨的东西:
var number1 = 4.954848;
var number2 = 5.9797;
alert(Math.floor((number1 / number2) * 100)); //w00t!
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 })See的方法 stackoverflow.com/a/29773435/411428
好吧,如果您有一个像0.123456这样的数字是除以一个百分比的结果,则将其乘以100,然后将其四舍五入或toFixed像在您的示例中那样使用。
Math.round(0.123456 * 100) //12
这是一个jQuery插件来做到这一点:
jQuery.extend({
percentage: function(a, b) {
return Math.round((a / b) * 100);
}
});
用法:
alert($.percentage(6, 10));
jQuery.round和jQuery.divide和jQuery.multiply
numeral.js在2017年3月27日。该库是完美的(无缺陷),还是不再积极维护。截至2019年1月28日,该项目有135个未解决的问题,最古老的是自2012年11月开始。未解决问题的问题将近2年,表明该项目不再受到关注。很高兴被说服。
var percent = Math.floor(100 * number1 / number2-100)+'%';
大多数答案建议在末尾附加“%”。我宁愿Intl.NumberFormat()与{ style: 'percent'}
var num = 25;
var option = {
style: 'percent'
};
var formatter = new Intl.NumberFormat("en-US", option);
var percentFormat = formatter.format(num / 100);
console.log(percentFormat);
@xtrem的答案很好,但我认为toFixed和是makePercentage很常用的。定义两个函数,我们可以在任何地方使用它。
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%