<?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: Test if a character variable contains a decimal value in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414383#M101526</link>
    <description>&lt;P&gt;Thank you Ksharp. Your solution worked perfectly on my real dataset. I am impressed at how many solutions there are to this problem. I like how concise your solution is.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Jasmin&lt;/P&gt;</description>
    <pubDate>Fri, 17 Nov 2017 14:16:56 GMT</pubDate>
    <dc:creator>sas-inquirer</dc:creator>
    <dc:date>2017-11-17T14:16:56Z</dc:date>
    <item>
      <title>Test if a character variable contains a decimal value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414152#M101460</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I am stuck on a problem. I have a character variable which contains the values from a questionnaire. I have no way to tell if the question asks for a dollar amount other than seeing the value (i.e. 1.99). Is there any function I can use to evaluate the value to determine if it contains a decimal value only? I should note that I cannot use the ANYDIGIT function because I have values that are numbers that are not dollar amounts and I have decimal values attached to character strings which are not indicative of a dollar amount. I just want to identify the values that contain numbers and a decimal only.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input char_var $;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;APPLE&lt;/P&gt;&lt;P&gt;BROWN&lt;/P&gt;&lt;P&gt;4.99&lt;/P&gt;&lt;P&gt;BALL2.0&lt;/P&gt;&lt;P&gt;568.0000&lt;/P&gt;&lt;P&gt;69833&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would love the end result to look like this:&lt;/P&gt;&lt;P&gt;CHAR_VAR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DECIMAL_VALUE&lt;/P&gt;&lt;P&gt;APPLE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; No&lt;/P&gt;&lt;P&gt;BROWN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; No&lt;/P&gt;&lt;P&gt;4.99&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;&amp;nbsp; Yes&lt;/P&gt;&lt;P&gt;BALL2.0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; No&lt;/P&gt;&lt;P&gt;568.0000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Yes&lt;/P&gt;&lt;P&gt;69833&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; No&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any suggestions? I am using SAS 9.2.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Nov 2017 21:34:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414152#M101460</guid>
      <dc:creator>sas-inquirer</dc:creator>
      <dc:date>2017-11-16T21:34:33Z</dc:date>
    </item>
    <item>
      <title>Re: Test if a character variable contains a decimal value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414154#M101461</link>
      <description>&lt;P&gt;not anyalpha(char_var);&lt;/P&gt;</description>
      <pubDate>Thu, 16 Nov 2017 21:37:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414154#M101461</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2017-11-16T21:37:38Z</dc:date>
    </item>
    <item>
      <title>Re: Test if a character variable contains a decimal value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414159#M101462</link>
      <description>&lt;P&gt;This looks like a PRXMATCH would likely work. I'm not very good but this seems to work for your example:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data have;
input char_var $;
if _N_=1 then
   do;
      retain PerlExpression;
      pattern="/(\d+?)[.](\d+?)/";
      PerlExpression=prxparse(pattern);
   end;
   decimal_value = (prxmatch(PerlExpression,Char_var) = 1);

datalines;
APPLE
BROWN
4.99
BALL2.0
568.0000
69833
;
run;&lt;/PRE&gt;
&lt;P&gt;Using 1 for Yes / True and 0 for no/ false.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Nov 2017 21:54:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414159#M101462</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-11-16T21:54:18Z</dc:date>
    </item>
    <item>
      <title>Re: Test if a character variable contains a decimal value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414171#M101464</link>
      <description>&lt;P&gt;One easy way is to test if SAS thinks it is a number by using INPUT() functio&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input char_var $20.;
datalines;
APPLE
BROWN
4.99
BALL2.0
568.0000
69833
1.00
;

data want;
  set have ;
  if index(char_var,'.') and not missing(input(char_var,??32.)) then decimal_value='Yes';
  else decimal_value='No ';
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;                   decimal_
Obs    char_var     value

 1     APPLE         No
 2     BROWN         No
 3     4.99          Yes
 4     BALL2.0       No
 5     568.0000      Yes
 6     69833         No
 7     1.00          Yes&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Nov 2017 22:43:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414171#M101464</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2017-11-16T22:43:22Z</dc:date>
    </item>
    <item>
      <title>Re: Test if a character variable contains a decimal value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414369#M101520</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input char_var $20.;
datalines;
APPLE
BROWN
4.99
BALL2.0
568.0000
69833
1.00
;

data want;
 set have;
 if prxmatch('/^\d*\.\d*$/',strip(char_var)) then flag=1;
  else flag=0;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 17 Nov 2017 13:49:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414369#M101520</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-11-17T13:49:34Z</dc:date>
    </item>
    <item>
      <title>Re: Test if a character variable contains a decimal value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414374#M101523</link>
      <description>&lt;P&gt;Thank you for your suggestion PG, but this function returns obs 6 (69833) which is not a decimal value.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Jasmin&lt;/P&gt;</description>
      <pubDate>Fri, 17 Nov 2017 14:01:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414374#M101523</guid>
      <dc:creator>sas-inquirer</dc:creator>
      <dc:date>2017-11-17T14:01:25Z</dc:date>
    </item>
    <item>
      <title>Re: Test if a character variable contains a decimal value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414378#M101524</link>
      <description>&lt;P&gt;Thank you ballardw.&amp;nbsp; This solution works very well on my real dataset. This is exactly what I was looking for!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Jasmin&lt;/P&gt;</description>
      <pubDate>Fri, 17 Nov 2017 14:09:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414378#M101524</guid>
      <dc:creator>sas-inquirer</dc:creator>
      <dc:date>2017-11-17T14:09:28Z</dc:date>
    </item>
    <item>
      <title>Re: Test if a character variable contains a decimal value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414379#M101525</link>
      <description>&lt;P&gt;Thank you Tom. Your solution works great on my real data set. I love the simplicity of your code!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Jasmin&lt;/P&gt;</description>
      <pubDate>Fri, 17 Nov 2017 14:12:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414379#M101525</guid>
      <dc:creator>sas-inquirer</dc:creator>
      <dc:date>2017-11-17T14:12:49Z</dc:date>
    </item>
    <item>
      <title>Re: Test if a character variable contains a decimal value</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414383#M101526</link>
      <description>&lt;P&gt;Thank you Ksharp. Your solution worked perfectly on my real dataset. I am impressed at how many solutions there are to this problem. I like how concise your solution is.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Jasmin&lt;/P&gt;</description>
      <pubDate>Fri, 17 Nov 2017 14:16:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Test-if-a-character-variable-contains-a-decimal-value/m-p/414383#M101526</guid>
      <dc:creator>sas-inquirer</dc:creator>
      <dc:date>2017-11-17T14:16:56Z</dc:date>
    </item>
  </channel>
</rss>

