I'm having a simple issue where my numbers are truncated after using the input function to convert characters to numeric. Perhaps I am missusing the input function or using the wrong informat? Code Below
data test;
length x $11 y $9;
input x y $;
datalines;
-117.088178 32.706038
;
run;
data test_t;set test;
x_t=input(x,11.6);
y_t=input(y,9.6);
run;
When I print the dataset I would expect:
x y x_t y_t
-117.088178 | 32.706038 | -117.088178 | 32.706038 |
But I get:
-117.088178 | 32.706038 | -117.088 | 32.7060 |
Any ideas? I'm currently using SAS 9.4 TS1M1
You are using the input function correctly. Add a format statement when you print the file. e.g.:
proc print data=test_t; format x_t y_t best32.; run;
HTH,
Art, CEO, AnalystFinder.com
You are using the input function correctly. Add a format statement when you print the file. e.g.:
proc print data=test_t; format x_t y_t best32.; run;
HTH,
Art, CEO, AnalystFinder.com
Thanks! So the data is stored correctly. It is just the default format for printing the data does not show those extra decimels.
Correct. I would include the format statement while creating the file. Then, procs (like proc print) would always honor it.
Art, CEO, AnalystFinder.com
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.