Как 0,2 + 0,1 может быть равен 0,3 в Excel? - PullRequest
3 голосов
/ 18 октября 2019

Я прекрасно понимаю, почему 0,1 + 0,2 не равно 0,3 из-за плавающей запятой. В большинстве языков программирования 0.1 + 0.2 == 0.3 равно False.

Но в Excel if(0.1 + 0.2 == 0.3; 1; 0) дает 1

1 Ответ

6 голосов
/ 18 октября 2019

Причина, по которой это происходит в Excel, заключается в том, что Excel отслеживает только 15 цифр точности. Математическая функция с плавающей запятой для 0,2 + 0,1 приводит к 0.30000000000000004, и этот 4 выход - 17-я цифра. Это означает, что Excel просто обрезает все после 15-го 0 и оставляет 0.300000000000000, что = 0.3

См. Здесь для получения дополнительной информации: https://en.wikipedia.org/wiki/Numeric_precision_in_Microsoft_Excel

...