Я запускаю простой фильтр неравенств в SAS следующим образом:
data my_data;
set my_data;
my_var = sum(parent_var1, -parent_var2)
run;
proc sql;
select my_var format=32.32
from my_data
where my_var < 0.02;
quit;
Я получаю следующий результат:
my_var
.0200000000000000000000000000000
.0200000000000000000000000000000
.0200000000000000000000000000000
(etc...)
Проблема, если она не очевидна, заключается в что мне нужны числа ниже .02, но они очень похожи на мое число равно .02.
В соответствии со свойствами, перечисленными при просмотре набора данных, длина my_var
установлена равной 8. parent_var1
и parent_var2
- оба десятичных числа, длина 8 и формат 8.5.
Может кто-нибудь объяснить, что здесь происходит? Есть ли где-то скрытая точность, которую я не вижу?