JavaScript 기능 toFixed(2)
에 약간의 문제가 있습니다.toFixed를 사용한 10 진수 반올림
십진수 45.24859
을 반올림하면이 함수를 사용하여 45.25
이됩니다.
하지만 내 문제는, 내가 10
(십진수 부분이 없음)을 반올림하면이 함수는 십진수 10.00
을 반환합니다.
어떻게이 문제를 해결할 수 있습니까?
내 문제는 소수 부분없이 숫자를 입력하면 함수가 10 진수가 아닌 값을 반환해야한다는 것입니다.
JavaScript 기능 toFixed(2)
에 약간의 문제가 있습니다.toFixed를 사용한 10 진수 반올림
십진수 45.24859
을 반올림하면이 함수를 사용하여 45.25
이됩니다.
하지만 내 문제는, 내가 10
(십진수 부분이 없음)을 반올림하면이 함수는 십진수 10.00
을 반환합니다.
어떻게이 문제를 해결할 수 있습니까?
내 문제는 소수 부분없이 숫자를 입력하면 함수가 10 진수가 아닌 값을 반환해야한다는 것입니다.
이 문제를 해결하는 또 다른 방법
DEMO 모든 브라우저와 호환되지 솔루션 아래
function roundNumber(num){
return (num.toString().indexOf(".") !== -1) ? num.toFixed(2) : num;
}
또는
function roundNumber(num){
return (num.toString().contains(".")) ? num.toFixed(2) : num;
}
우리는 수를 확인할 수 있습니다 소수점 여부를이 Check if a number has a decimal...
그래서 당신이
function roundNumber(num){
return num % 1 != 0 ? num.toFixed(2) : num;
}
가 아니면 더 나은 옵션을 사용하는 것입니다 생각이 기능을 사용할 수있는 결합 함께
Math.round(num * 100)/100
중복 가능성 (http://stackoverflow.com/questions/11832914/round-up- to-2-decimal-places-in-javascript) – Sarath
이것은 jQuery와는 아무런 관련이 없다는 점에 유의하십시오. –