从数字中删除“0。”XXX%并将其设为百分比的最佳方法是什么?如果数字恰好是int?会发生什么?
var number1 = 4.954848;
var number2 = 5.9797;
$(document).ready(function() {
final = number1/number2;
alert(final.toFixed(2) + "%");
});
答案 0 :(得分:175)
百分比只是:
(number_one / number_two) * 100
不需要任何花哨的东西:
var number1 = 4.954848;
var number2 = 5.9797;
alert(Math.floor((number1 / number2) * 100)); //w00t!
答案 1 :(得分:48)
((portion/total) * 100).toFixed(2) + '%'
答案 2 :(得分:25)
最佳解决方案,其中en
是英语区域设置:
fraction.toLocaleString("en", {style: "percent"})
答案 3 :(得分:16)
好吧,如果你有一个像0.123456
这样的数字,这是分数给出一个百分比的结果,那就把它乘以100,然后将它四舍五入,或者像你的例子一样使用toFixed
。 / p>
Math.round(0.123456 * 100) //12
这是一个jQuery插件:
jQuery.extend({
percentage: function(a, b) {
return Math.round((a / b) * 100);
}
});
用法:
alert($.percentage(6, 10));
答案 4 :(得分:2)
Numeral.js是我创建的一个库,可以格式化数字,货币,百分比并支持本地化。
numeral(0.7523).format('0%') // returns string "75%"
答案 5 :(得分:1)
var percent = Math.floor(100 * number1 / number2 - 100)+'%';
答案 6 :(得分:0)
@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%
答案 7 :(得分:0)
大多数答案建议在末尾添加“%”。我宁愿将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);