[javascript] 소수점 이하 2 자리까지 부동 소수점을 표시하는 JavaScript
소수점 이하 두 자리까지 숫자를 표시하고 싶었습니다.
toPrecision(2)
JavaScript에서 사용할 수 있다고 생각했습니다 .
그러나 숫자가 0.05
인 경우을 얻습니다 0.0500
. 차라리 그대로 유지하고 싶습니다.
JSbin에서 참조하십시오 .
가장 좋은 방법은 무엇입니까?
몇 가지 솔루션을 코딩하는 것을 생각할 수 있지만 이와 같은 것이 내장되어 있다고 생각합니까?
답변
float_num.toFixed(2);
참고 :toFixed()
필요한 경우 지정된 길이를 충족하기 위해 반올림하거나 0으로 채 웁니다.
답변
답변
toFixed
대신 사용해보십시오 toPrecision
.
답변
내가이 질문에 어떻게 도달했는지 모르지만 이것이 요청 된 지 몇 년이 지난 후에도 빠르고 간단한 방법을 추가하고 싶습니다.
var num = response_from_a_function_or_something();
var fixedNum = parseFloat(num).toFixed( 2 );
답변
function round(value, decimals) {
return Number(Math.round(value+'e'+decimals)+'e-'+decimals);
}
라운드 (1.005, 2); // 1.01을 반환
라운드 (1.004, 2); // 1.00 대신 1을 반환
이에 대한 답은 다음 링크입니다 : http://www.jacklmoore.com/notes/rounding-in-javascript/
답변
number.parseFloat(2)
작동하지만 문자열을 반환합니다.
숫자 유형으로 유지하려면 다음을 사용할 수 있습니다.
Math.round(number * 100) / 100
답변
당신은 혼합을 시도 할 수 Number()
와 toFixed()
.
대상 번호를 X 자릿수가있는 멋진 문자열로 변환 한 다음 형식화 된 문자열을 숫자로 변환하십시오.
Number( (myVar).toFixed(2) )
아래 예를 참조하십시오.
var myNumber = 5.01;
var multiplier = 5;
$('#actionButton').on('click', function() {
$('#message').text( myNumber * multiplier );
});
$('#actionButton2').on('click', function() {
$('#message').text( Number( (myNumber * multiplier).toFixed(2) ) );
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<button id="actionButton">Weird numbers</button>
<button id="actionButton2">Nice numbers</button>
<div id="message"></div>