숫자에서 "0."XXX %를 제거하고 백분율로 만드는 가장 좋은 방법은 무엇입니까? 숫자가 정수이면 어떻게 되나요?
var number1 = 4.954848;
var number2 = 5.9797;
$(document).ready(function() {
final = number1/number2;
alert(final.toFixed(2) + "%");
});
숫자에서 "0."XXX %를 제거하고 백분율로 만드는 가장 좋은 방법은 무엇입니까? 숫자가 정수이면 어떻게 되나요?
var number1 = 4.954848;
var number2 = 5.9797;
$(document).ready(function() {
final = number1/number2;
alert(final.toFixed(2) + "%");
});
답변:
백분율은 다음과 같습니다.
(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 })참조 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 는 숫자, 통화, 백분율 형식을 지정할 수 있고 현지화를 지원하는 라이브러리입니다.
numeral(0.7523).format('0%') // returns string "75%"
numeral.js은 2017 년 3 월 27 일입니다. 라이브러리가 완벽하거나 (결함이 없음) 더 이상 적극적으로 유지 관리되지 않습니다. 2019 년 1 월 28 일 현재이 프로젝트에는 135 개의 미해결 문제가 있으며 가장 오래된 문제는 2012 년 11 월부터입니다. 거의 2 년 동안 커밋되지 않은 미해결 문제의 수는 프로젝트가 더 이상 관리되지 않음을 나타냅니다. 그렇지 않다는 확신을 갖게되어 기쁩니다.
대부분의 답변은 끝에 '%'를 추가하는 것이 좋습니다. 나는 차라리 선호 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과 the 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%