------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

엑셀 할인율 계산 … 97 End If End Function 문제에서 할인율이 각각 10%, 5%, 3%인데 왜 0.1 , 0.05

image

엑셀 할인율 계산

... 97 End If End Function 문제에서 할인율이 각각 10%, 5%, 3%인데 왜 0.1 , 0.05 , 0.03이 아니고 0.9 , 0.95 , 0.97인가요?? 퍼센트 계산값이 바로 나오기 때문에 0.9...

이는 VBA에서 '/' 연산자가 두 피연산자가 모두 정수인 경우 정수 나누기를 수행하기 때문입니다. 따라서 `97 / 100`을 수행하면 `0.97`(`0.9700` 아님)이 반환됩니다.

십진수 값을 얻으려면 `CDbl` 함수를 사용하여 결과를 double로 변환할 수 있습니다.

`0.1 = CDbl(10) / 100` `0.05 = CDbl(5) / 100` `0.03 = CDbl(3) / 100`

또는 `/` 연산자를 하나와 함께 사용할 수 있습니다. 다음과 같이 double로 피연산자를 사용합니다.

`0.1 = 10 / 100.0` `0.05 = 5 / 100.0` `0.03 = 3 / 100.0`

이렇게 하면 나눗셈이 부동 소수점으로 수행됩니다. 작업을 수행하면 예상한 십진수 값을 얻을 수 있습니다.