Counting all numbers after decimal point.

Hello everyone,
I have the following program:
function [ dec ] = digits( x )
% DETERMINE how many digits you have in x.
% dec digits after the comma (decimal).
%%COUNT the digits after the comma.
x = abs(x); %in case of negative numbers
dec = 0;
n=0;
y = x*10^n;
while (floor(y)~=y)
dec = dec + 1;
n = n + 1;
y = x*10^n;
end
end
end
This works for nearly every number except, for example when I use it on 0.0221. My program then gives me as answer '5' yet I don't understand why. Is there anybody here who can help me?
Thanks in advance!
Jonathan

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!