Are there cases in your data where num_PW=input(PW, 32.) does not contain the "correct decimal number", that is, where a check like
371 data _null_;
372 PW="7.0000000000000007E-2";
373 num_PW=input(PW, 32.);
374 if num_PW=0.07 then put 'OK';
375 run;
OK
would not yield "OK"? If so, I would use the ROUND function with an appropriate rounding unit in the definition of num_PW.
Example:
412 data _null_;
413 PW="7.0000000000000010E-2";
414 num_PW=round(input(PW, 32.), 1e-14);
415 if num_PW=0.07 then put 'OK';
416 run;
OK
... View more