How to write a while loop that returns the number of the value you put in?

1 view (last 30 days)
Hello, so the title might be confusing and i'll try to explain it better. I want to create a while loop so if the user put in the number let's say 4575, it'll return the number 4. Or 893 and itll return the number 3, 78 and itll return number 2 and so forth. Absolutely clueless on how to solve this honestly
  1 Comment
Stephen23
Stephen23 on 15 Dec 2022
Edited: Stephen23 on 15 Dec 2022
"Absolutely clueless on how to solve this honestly"
Some people will tell you to convert to text, but the real solution is to use mathematics: what does LOG10 give you?
Try it, and show us what you come up with.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 16 Dec 2022
Have the user put in the number as a string with input
userInput = input('Enter your number : ', 's');
fprintf('Your number of %s is %d digits long.\n', userInput, length(userInput));
Not sure how a while loop comes into play. Do you want that in a while loop and keep asking them unless they type quit or something? Like this:
userInput = 'a';
while ~startsWith(userInput, 'Q', 'IgnoreCase',true)
userInput = input('Enter your number (Q to quit): ', 's');
if startsWith(userInput, 'Q', 'IgnoreCase',true)
break
end
fprintf('Your number of %s is %d digits long.\n', userInput, length(userInput));
end
  2 Comments
Image Analyst
Image Analyst on 18 Dec 2022
If this Answer solves your original question, then could you please click the "Accept this answer" link to award the answerer with "reputation points" for their efforts in helping you? They'd appreciate it. Thanks in advance. 🙂 Note: you can only accept one answer (so pick the best one) but you can click the "Vote" icon for as many Answers as you want. Voting for an answer will also award reputation points.

Sign in to comment.

More Answers (1)

Jan
Jan on 15 Dec 2022
Edited: Jan on 15 Dec 2022
x = [4575, 893, 78, 12345];
y = floor(log10(x) + 1)
y = 1×4
4 3 2 5
Do you really need a loop?
x = 10000;
n = 0;
while x >= 1
n = n + 1;
x = x / 10;
end
n
n = 5
  3 Comments

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!