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%