자바스크립트에서는
12.45 - 0.4 = 12.0499999999999 가 나와버린다
자바스크립트는 알다가도 모르겠다 ㅋㅋㅋㅋ
부동소수점 연산 IEEE 754 방식 때문이라는데
.toFixed(2)처럼 소수점 자르면 되는거만 0이 붙어버리니 ㅎㅎ
Solutuin:
$scope.floatCalculator = function(number1, number2, number3){ //ref, floor, ceiling
var T = Number('1e'+5);
var minVal = Math.round(( number1 - number2 )*T)/T;
var maxVal = Math.round(( number1 + number3 )*T)/T;
return minVal + " , " + maxVal;
};
//‘1e’+1 을 Number형변환하여 기존에 있던 값에 곱하고 나눈다음 round처리하여주는것이 핵심이다.