How to get the last two digits of a number?
47 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Maximilian Lingel
le 10 Mai 2021
Commenté : Image Analyst
le 22 Jan 2022
Hello,
I have a table with 505 rows and 1 column. Each row contains a 4 digit number and from of these numbers I would like to extract the last two digits to add a second column to that table containing the last two digits of every number in the first column.
I would be grateful for any hints. Thank you
0 commentaires
Réponse acceptée
David Fletcher
le 10 Mai 2021
x=4974
y=floor((x/100-floor(x/100))*100)
3 commentaires
Felician Putz
le 22 Jan 2022
Be careful with floor. This can give the wrong result for some numbers. Counter example: 1001, whose result is 0 for me because apparently floor(1.0000) is 0 for Matlab.
Image Analyst
le 22 Jan 2022
floor(1.0000)
x = 1001;
v = floor((x/100-floor(x/100))*100)
fprintf('%.32f', (x/100-floor(x/100))*100) % This is not 1
Plus de réponses (1)
DGM
le 10 Mai 2021
Assuming they're integers:
% 10 rows random integers
n = (randi(8999,1,10)+1000)'
n = [n mod(n,100)]
If they aren't integers, you should decide how you want to round them first.
3 commentaires
Adam Danz
le 10 Mai 2021
Either of the two existing solutions will work with 4-digit integers but note that if the 3rd digit is a 0 as in 4206, the extraction will be 6 and not 06 since matlab does not preserve the 0 place holder. If you want to retain the 0, you'll need to extract the digis as strings or character vectors.
Method 1: convert to string after extraction
rng(123) % for reprodicibility
x = round(rand(10,1)*10000);
lastTwo = mod(x,100);
charVec = compose('%02d',lastTwo); % for char-vectors
str = string(compose('%02d',mod(x,100))); % for string array
T = table(x, lastTwo, charVec, str)
Method 2: convert to string and then extract
rng(123) % for reprodicibility
x = round(rand(10,1)*10000);
xstr = string(x);
str = extractAfter(xstr,2);
T = table(x, lastTwo, str)
Voir également
Catégories
En savoir plus sur Whos dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!