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
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.