LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous (more recent) messageNext (less recent) messagePrevious (more recent) in topicNext (less recent) in topicPrevious (more recent) by same authorNext (less recent) by same authorPrevious page (August 2004, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Wed, 11 Aug 2004 14:44:49 -0400
Reply-To:     Sigurd Hermansen <HERMANS1@WESTAT.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         Sigurd Hermansen <HERMANS1@WESTAT.COM>
Subject:      Re: Implicit format type conversion in SAS?
Comments: To: Mike Rhoads <RHOADSM1@WESTAT.com>
Content-Type: text/plain

Mike: When I learned SAS, my day care teacher told me that SAS allows use of a numeric format in a PUT() function or command. In the special case of a digit string (in some cases also including a decimal point), PUT formats the string as it would a number displayed in the format specified.

That may explain the lack of an error message or warning. The compiler does not distinguish a string in numeric syntax from any other string.

Still, I had expected the PUT to format a string as a number. I don't see that happening. Sig -----Original Message----- From: SAS(r) Discussion [mailto:SAS-L@LISTSERV.UGA.EDU] On Behalf Of Mike Rhoads Sent: Wednesday, August 11, 2004 1:44 PM To: SAS-L@LISTSERV.UGA.EDU Subject: Implicit format type conversion in SAS?

Has anyone ever tried something like the following?

DATA _NULL_; LENGTH Var Newvar $ 24; Var = 'This is very strange.'; Newvar = PUT(Var,8.); PUT 'First 12 chars of Var are ' Var 12.; PUT 'Value if Newvar is ' Newvar; RUN;

Much to my surprise, the above code works. (SAS 8.2, WinXP) When I was much, much younger and I learned SAS on my momma's knee, she always taught me that character formats started with $, that numeric formats didn't, and that the format type always had to be consistent with the variable type.

I'm not sure whether this works by accident, whether it works because SAS is being "smart" and "helpful", or whether there is some other simple explanation I'm missing.

Mike Rhoads Westat RhoadsM1@Westat.com


Back to: Top of message | Previous page | Main SAS-L page