Abschließend noch die Info, dass (bei beiden Varianten) Nachkommastellen abgeschnitten werden:
data want;
infile datalines dsd;
attrib number format=32.29;
input number;
put number;
datalines;
"6.3565654996227266482910694597574421E-06"
"-.00042565614666475080712238147739801544"
;
/*
0.00000635656549962273000000000
-0.00042565614666475000000000000
*/
run;
data want;
infile datalines dsd;
input string :$50.;
if indexc(string,'E') > 18
then string = substr(string,1,18) !! substr(string,indexc(string,'E'));
number = input(string,32.);
format number 32.29;
put number;
datalines;
"6.3565654996227266482910694597574421E-06"
"-.00042565614666475080712238147739801544"
;
/*
0.00000635656549962272000000000
-0.00042565614666475000000000000
*/
run;
Im Kommentar sieht man die Ausgabe des PUT-Befehls aus dem Log.
... View more