|
VB의 Round 함수와 비슷한 연관성이 있는 것 같습니다.
VB의 Round 함수는 정수 부분이 홀수, 짝수 인지에 따라서 영향을 미칩니다.
테스트 결과 그렇게 홀수, 짝수인지에 영향을 바로바로 받는것 같지는 않지만,
그런 비슷한 원리로 숫자 계산이 되는것 같습니다.
반올림이나 소숫점의 경우 사람이 생각하는 것과 컴퓨터가 계산하는 것과 다르다고
들었습니다. 실질적으로 사람이 보편화하게 계산하는 0.5를 반올림하면 1이 된다는
것은 실질적인 수학 공식 체계에 맞지 않다라고 들었었습니다.
반올림을 원하시는 대로 하시고 싶으시다면, 0.5 를 더하신 다음 버려버리는 그런
식으로 하신다면, 사람이 보편적으로 이용하는 그런 값을 얻으실 수 있으실것 같습니다.
물론, 값을 다 처리 하신 다음에, Format에 넣으셔야 겠지요.. :)
cuperido
보리 님이 쓰신 글 :
: 소수 몇째 자리까지 유지하고 하는 그런 문제가 아니라
: 중간의 특정 숫자 부분에서는 반올림이 되지 않는다는걸 여쭤본건데요..
: 다시 한번 읽어봐주세요...
:
:
: 금목암 님이 쓰신 글 :
: : float 변수에서는 소수점을 무한대로 보장하는게 아닙니다
: : 기초책에 있는데 가령 11자리 보장이다 면
: : 1234567890.123을
: : 1234567890.1로 자릅니다
: :
: : 1234.3456878은 그대로 나오지요
: : 소수점 위 아래 합쳐서 보장되는 범위가 있습니다
: : 아주큰수를 쓰려면 더큰 범위로 쓰셔야 하거나
: : 직접 계산하는 방법도 있습니다
: : 수학적인 라이브러리나 os에서 64비트나 128비트를
: : 지원하는 컴이나 os사용시는 더 큰범위로 늘어납니다
: : float는 8바이트이니 8바이트로 표시 불가능한 범위는
: : 곤란합니다
|