Counting all numbers after decimal point.

1 view (last 30 days)
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

Accepted Answer

Walter Roberson
Walter Roberson on 2 Apr 2014

More Answers (0)

Community Treasure Hunt

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

Start Hunting!