<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Converting numeric to character in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Converting-numeric-to-character/m-p/917676#M361477</link>
    <description>&lt;P&gt;Why is code created as numeric in the first place? This points to a faulty data import process, most probably caused by the use of PROC IMPORT.&lt;/P&gt;</description>
    <pubDate>Fri, 23 Feb 2024 21:49:30 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2024-02-23T21:49:30Z</dc:date>
    <item>
      <title>Converting numeric to character</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Converting-numeric-to-character/m-p/917645#M361463</link>
      <description>&lt;P&gt;I have a table with several observations with 16-digit numeric codes that I need to convert to text because when I send my output from EG to an excel, I don't want the last digit of my numbers being converted to 0 (since excel can only handle 15 numeric numbers but no constraints on texts). However, when I convert these 16-digit numeric codes to text, the new column cuts down my numbers.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Dataset "ABC":&lt;/P&gt;
&lt;P&gt;obs&amp;nbsp; &amp;nbsp; &amp;nbsp;code&lt;/P&gt;
&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1234567890123456&lt;/P&gt;
&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2345678901234567&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Code:&lt;/P&gt;
&lt;P&gt;data temp;&lt;BR /&gt;set ABC;&lt;BR /&gt;New_code= put(code, $16.);&lt;BR /&gt;format New_code $16.;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Results:&lt;/P&gt;
&lt;P&gt;obs&amp;nbsp; &amp;nbsp; Code&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;New_code&lt;/P&gt;
&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1234567890123456&amp;nbsp; &amp;nbsp; 123456789012&lt;/P&gt;
&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2345678901234567&amp;nbsp; &amp;nbsp;234567890123&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The results I want:&lt;/P&gt;
&lt;P&gt;obs&amp;nbsp; &amp;nbsp; Code&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;New_code&lt;/P&gt;
&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1234567890123456&amp;nbsp; &amp;nbsp; 1234567890123456&lt;/P&gt;
&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2345678901234567&amp;nbsp; &amp;nbsp;2345678901234567&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Feb 2024 19:37:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Converting-numeric-to-character/m-p/917645#M361463</guid>
      <dc:creator>ChickenLittle</dc:creator>
      <dc:date>2024-02-23T19:37:41Z</dc:date>
    </item>
    <item>
      <title>Re: Converting numeric to character</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Converting-numeric-to-character/m-p/917646#M361464</link>
      <description>&lt;P&gt;If variable CODE is really numeric, then the program you present should generate a warning message.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Did you actually try this program code?&amp;nbsp; What do you see in the sas log?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But even in spite of this warning message, I cannot reproduce your results.&amp;nbsp; I see what you initially expected.&amp;nbsp; See below:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data ABC;
input obs     code;
datalines;
1           1234567890123456
2           2345678901234567
run;
 
data temp;
set ABC;
New_code= put(code, $16.);
format New_code $16.;
put (_all_) (=);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;which produces 16 character values for new_code, per the log below:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;32   data temp;
33   set ABC;
34   New_code= put(code, $16.);
WARNING: Variable code has already been defined as numeric.
35   format New_code $16.;
36   put (_all_) (=);
37   run;

obs=1 code=1.2345679E15 New_code=1234567890123456
obs=2 code=2.3456789E15 New_code=2345678901234567
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;And of course to eliminate the warning, the new_code= assignment statement should be&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;New_code= put(code, 16.);&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 23 Feb 2024 19:45:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Converting-numeric-to-character/m-p/917646#M361464</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2024-02-23T19:45:29Z</dc:date>
    </item>
    <item>
      <title>Re: Converting numeric to character</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Converting-numeric-to-character/m-p/917676#M361477</link>
      <description>&lt;P&gt;Why is code created as numeric in the first place? This points to a faulty data import process, most probably caused by the use of PROC IMPORT.&lt;/P&gt;</description>
      <pubDate>Fri, 23 Feb 2024 21:49:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Converting-numeric-to-character/m-p/917676#M361477</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2024-02-23T21:49:30Z</dc:date>
    </item>
    <item>
      <title>Re: Converting numeric to character</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Converting-numeric-to-character/m-p/917680#M361479</link>
      <description>&lt;P&gt;Yes, I initially converted an excel file to a CSV file, then used proc import. The field in the excel file was in a text format, but when I imported it, it became a numeric field in the sas data set. Do you know how to keep that field a text field when converting it to a sas data set?&lt;/P&gt;</description>
      <pubDate>Fri, 23 Feb 2024 22:04:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Converting-numeric-to-character/m-p/917680#M361479</guid>
      <dc:creator>ChickenLittle</dc:creator>
      <dc:date>2024-02-23T22:04:50Z</dc:date>
    </item>
    <item>
      <title>Re: Converting numeric to character</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Converting-numeric-to-character/m-p/917692#M361486</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/436300"&gt;@ChickenLittle&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Yes, I initially converted an excel file to a CSV file, then used proc import. The field in the excel file was in a text format, but when I imported it, it became a numeric field in the sas data set. Do you know how to keep that field a text field when converting it to a sas data set?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Write the data step to read the file yourself.&amp;nbsp; Then you have complete control over how the variable is defined.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So if you have this CSV file:&lt;/P&gt;
&lt;PRE&gt;obs,code
1,1234567890123456
2,2345678901234567 &lt;/PRE&gt;
&lt;P&gt;The code is just:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  infile CSV dsd firstobs=2 truncover;
  input obs code :$16.;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 23 Feb 2024 23:59:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Converting-numeric-to-character/m-p/917692#M361486</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2024-02-23T23:59:17Z</dc:date>
    </item>
  </channel>
</rss>

