BookmarkSubscribeRSS Feed
Calcite | Level 5

In numeric variable, I have numbers with 2 and 3 decimal points. what format can I use to convert them to the character format with same decimal points.

Diamond | Level 26 RW9
Diamond | Level 26

Well, if the numbers are all in one column then you likely have a general format such as best. applied to it.  Set the format explicity that you want:

format <your_variable> 5.3;

This will give the number 5 elements including dot e.g.

However to  extra zeroes to pad out you use the z format:

format <your_variable> z7.4;

So 42.3 would become:


Opal | Level 21

As was noted, you don't have to convert them.  You could simply use a format when printing them. 


Since your original question asked about converting them to character, you would use a PUT function.


newvar = put(oldvar, 8.3);


The width that you choose ("8" in this example) must be wide enough to include all characters that will be needed:  digits before the decimal point, digits after, the decimal point itself, and a negative sign if needed.



Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.

If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website. 

Register now!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

Get the $99 certification deal.jpg



Back in the Classroom!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 1 like
  • 3 in conversation