Rounding a decimal down

4 vues (au cours des 30 derniers jours)
L'O.G.
L'O.G. le 2 Déc 2022
Commenté : Emre Tas le 8 Août 2023
With round(x,2) I can round a number to the nearest hundredth, but how do I round down to the nearest hundredth? For example, both 0.143 and 0.147 should become 0.14.

Réponse acceptée

Matt J
Matt J le 2 Déc 2022
Modifié(e) : Matt J le 2 Déc 2022
x=0.147;
floor(x*100)/100
ans = 0.1400
  1 commentaire
Emre Tas
Emre Tas le 8 Août 2023
Thank you for your answer, it solved my meshing problem.

Connectez-vous pour commenter.

Plus de réponses (2)

Les Beckham
Les Beckham le 2 Déc 2022
x = [0.143 0.147];
floor(x*100)/100
ans = 1×2
0.1400 0.1400

Vilém Frynta
Vilém Frynta le 2 Déc 2022
Modifié(e) : Vilém Frynta le 2 Déc 2022
Example:
X = 0.143;
Y = sprintf('%.2f',X);
Y = str2double(Y)
Y = 0.1400
Someone ahd same question before. Next time, try to Google your question before asking.
  2 commentaires
Stephen23
Stephen23 le 3 Déc 2022
Modifié(e) : Stephen23 le 3 Déc 2022
It is more efficient to keep this in the numeric domain, rather than converting to text and back.
It also does not work, because SPRINTF rounds values to the nearest digit, it does not round down:
X = 0.147;
Y = sprintf('%.2f',X);
Y = str2double(Y) % Nope, definitely not rounded down.
Y = 0.1500
The answers from Matt J and Les Beckham are correct.
Vilém Frynta
Vilém Frynta le 3 Déc 2022
True, I just reffered to someone else's answer.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by