Solved
New User
Posts: 1

# 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
Posts: 3,215

## 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 --<-----

All Replies
Solution
‎09-08-2014 06:58 AM
Posts: 3,215

## 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 --<-----
Posts: 3,852

## 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 and locked.