Written on
·
332
·
Edited
0
소수점이 들어간 곱셈을 하면 파이썬과 계산기가 다릅니다.
예를들면 2050 * 1.00014를 해보겠습니다.
실제 계산값은 2050.287 이 나옵니다.
그러나 파이썬은 2050.2870000000003이 나오는데요.
뒤에 0.0000000000003 이게 왜 붙는거죠?
혹시나 해서 2050.287과 2050*1.00014가 같은지도 물어보니 역시 다른 값으로 인식합니다.
round 함수를 사용한다면 교정할 수 있겠지만,
이런 문제가 왜 생기는 것인지,
그리고 이런 문제를 근본적으로 해결할 수 있는 방법이 궁금합니다.
Answer 1
0
안녕하세요.
부동소수점에 대해서 질문을 주셨네요.
실수범위를 완벽하게 표현할 수 없습니다.
이는 파이썬의 문제가 아니라 각 언어에서도 중요한 부분이예요.
내용이 방대해지니 링크를 하나 드리겠습니다.
한 번 읽어보세요.
"부동소수점(실수를 제대로 표현할 수 없는 이유)