BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
rsunkara
Calcite | Level 5

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;

1 ACCEPTED SOLUTION

Accepted Solutions
jakarman
Barite | Level 11

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

2 REPLIES 2
jakarman
Barite | Level 11

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

---->-- ja karman --<-----
data_null__
Jade | Level 19

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
How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

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