DATA Step, Macro, Functions and more

Cats function giving different results

Accepted Solution Solved
Reply
N/A
Posts: 1
Accepted Solution

Cats function giving different results

I have no idea how this happen. Can anyone explain this?

x = cats(88.2 - 102.8) gives me -14.5999999999

where as y = cats(88.1 - 102.7) gives me -14.6

Data test;

  x = cats(88.2 - 102.8);

  y = cats(88.1 - 102.7);

  put x = y = ;

run;


Accepted Solutions
Solution
‎09-08-2014 06:58 AM
Valued Guide
Posts: 3,208

Re: Cats function giving different results

http://support.sas.com/techsup/technote/ts654.pdf   welcome in the digital age, please try the understand bytes and bits 

---->-- ja karman --<-----

View solution in original post


All Replies
Solution
‎09-08-2014 06:58 AM
Valued Guide
Posts: 3,208

Re: Cats function giving different results

http://support.sas.com/techsup/technote/ts654.pdf   welcome in the digital age, please try the understand bytes and bits 

---->-- ja karman --<-----
Respected Advisor
Posts: 3,777

Re: Cats function giving different results

We might ask why are you doing that?  Also look up CATS function regarding how it converts numeric to character.

data _null_;
  
length x y 8;
  
x = 88.2 - 102.8;
   y =
88.1 - 102.7;
   d = x - y;
  
put 'NOTE: ' x best32. +3 x hex16. +3 x;
   put 'NOTE: ' y best32. +3 y hex16. +3 y;
   put 'NOTE: ' d best32. +3 d hex16. +3 d;
   run;

NOTE:                -
14.5999999999999   C02D333333333330   -14.6
NOTE:                            -
14.6   C02D333333333338   -14.6
NOTE:             
1.4210854715202E-14   3D10000000000000   1.421085E-14
☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 183 views
  • 3 likes
  • 3 in conversation