Rounding a decimal down

15 visualizzazioni (ultimi 30 giorni)
L'O.G.
L'O.G. il 2 Dic 2022
Commentato: Emre Tas il 8 Ago 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.

Risposta accettata

Matt J
Matt J il 2 Dic 2022
Modificato: Matt J il 2 Dic 2022
x=0.147;
floor(x*100)/100
ans = 0.1400
  1 Commento
Emre Tas
Emre Tas il 8 Ago 2023
Thank you for your answer, it solved my meshing problem.

Accedi per commentare.

Più risposte (2)

Les Beckham
Les Beckham il 2 Dic 2022
x = [0.143 0.147];
floor(x*100)/100
ans = 1×2
0.1400 0.1400

Vilém Frynta
Vilém Frynta il 2 Dic 2022
Modificato: Vilém Frynta il 2 Dic 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 Commenti
Stephen23
Stephen23 il 3 Dic 2022
Modificato: Stephen23 il 3 Dic 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 il 3 Dic 2022
True, I just reffered to someone else's answer.

Accedi per commentare.

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Tag

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by