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
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
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.