흠 예를 들자면 뭐 금액을 산출하는데
나누거나 비율을 곱해주거나 할때 문제가 되는것들인데.
1억 2천 3백 4십 5만 6천 7백 8십 9원 을 가지고
지지고 복고한다고 치자.
여러개의 돈을 합쳐서 이윤을 따지고 하다보면 이윤율이라던지 뭐 그런걸 곱해주게되거나
하나의 금액을 여러개 부서별로 나누어서 계산을 한다하면 가중치를 구하던지 해서
금액을 쪼개야 될꺼아냐. 근데 나중에 이금액을 다 합쳐보면 1억 2천 3백 4십 5만 6천 7백 8십 9원에서
오차가 나기 마련일테고.
간단하게 예를 들면 1/3 1/3 1/3 3개를 더해주면 3/3 이되어서 1이지만.
0.3333333333333...
+ 0.333333333333
+ 0.333333333333
0.999999999 로 가게되기 마련이지.(0.999999무한대는 1이라면 할말은없지만 절사해서 보여주거나 하면 0.9999정도로
보일수도있는 문제고 말야)
혹은 0.33333333333을 저장할때 둘재자리까지 반올림하면
0.33 + 0.33 + 0.33 하게되면 또 0.99로밖에 안나올테고말이지.
간혹 쓰는 방법으로는 1-(0.33 + 0.33) 해서 마지막걸 구해주는 정확하지 않은 야매성 방법도있긴하지만말야.
이러한 경우들을 어떻게들 해결함?
나누거나 비율을 곱해주거나 할때 문제가 되는것들인데.
1억 2천 3백 4십 5만 6천 7백 8십 9원 을 가지고
지지고 복고한다고 치자.
여러개의 돈을 합쳐서 이윤을 따지고 하다보면 이윤율이라던지 뭐 그런걸 곱해주게되거나
하나의 금액을 여러개 부서별로 나누어서 계산을 한다하면 가중치를 구하던지 해서
금액을 쪼개야 될꺼아냐. 근데 나중에 이금액을 다 합쳐보면 1억 2천 3백 4십 5만 6천 7백 8십 9원에서
오차가 나기 마련일테고.
간단하게 예를 들면 1/3 1/3 1/3 3개를 더해주면 3/3 이되어서 1이지만.
0.3333333333333...
+ 0.333333333333
+ 0.333333333333
0.999999999 로 가게되기 마련이지.(0.999999무한대는 1이라면 할말은없지만 절사해서 보여주거나 하면 0.9999정도로
보일수도있는 문제고 말야)
혹은 0.33333333333을 저장할때 둘재자리까지 반올림하면
0.33 + 0.33 + 0.33 하게되면 또 0.99로밖에 안나올테고말이지.
간혹 쓰는 방법으로는 1-(0.33 + 0.33) 해서 마지막걸 구해주는 정확하지 않은 야매성 방법도있긴하지만말야.
이러한 경우들을 어떻게들 해결함?
나라면 그 1원의 차이가 불러올수있는 최대오차범위를 옆에 적어두겠음.
수학갤의 전통 떡밥 중 하나가 나왔군요. 0.999.... = 1이라고 결론 났던거 같음
대기업 원가팀에서 실제 쓴비용에서 1원 차이도 엄청 민감하게 생각하는곳이 꽤 많은편. 오차란 없다! 뭐 이런 생각 가지고있는 사람들이있어서.
0.999999무한대가 1이다 아니다를 따지자고 글쓴건 아님
음..... 그럼 가능한 손해가 적은방식으로 if문을 조합해봐야겠네요.
유리수type은 어떤가여
개발자가 할일이라기 보다는 회계팀에 저런 경우 규칙이 어떤지 물어보는게 빠를듯. 원단위절사 한다던가 뭐 등등
유리수type 어떤가여
훗쇼횽말이맞음