Borrar filtros
Borrar filtros

How to cut digits after the decimal point?

138 visualizaciones (últimos 30 días)
Mark Golberg
Mark Golberg el 1 de Mzo. de 2017
Comentada: Dyuman Joshi el 28 de En. de 2024
Hello, I have the following variable:
a1 = 0.1234
I want to cut all digits after the first one after the decimal point. Meaning:
a2 = 0.1
I've created the following code (q=1 in our example):
b1 = a1 .* 10^q;
b2 = floor(b1);
a2 = b2 ./ (10^q);
But, it output
a2 = 0.1000
How can I get rid of the zeros in the end?
Thank you.

Respuesta aceptada

John D'Errico
John D'Errico el 1 de Mzo. de 2017
Editada: John D'Errico el 1 de Mzo. de 2017
You can use
a2 = round(a1,1);
to round to that decimal point.
However, to display the number with no zeros, you may want to change your display format.
format short
a2
a2 =
0.1000
format short g
a2
a2 =
0.1
See the difference between short, and short g.
I tend to leave the display format as short g always, except for the rare time when I want to see more digits, then I move to long g.
  4 comentarios
ΦΨ
ΦΨ el 28 de En. de 2024
Editada: ΦΨ el 28 de En. de 2024
Is there an option to cut not round? Meaning:
1.59 -> 1.5
Dyuman Joshi
Dyuman Joshi el 28 de En. de 2024
format shortg
%input
in = 1.59;
%digits to cut
n = 1;
%output
out = floor(in*10^n)/10^n
out =
1.5

Iniciar sesión para comentar.

Más respuestas (1)

Adam
Adam el 1 de Mzo. de 2017
Editada: Adam el 1 de Mzo. de 2017
a2 = round( a1, 1 );
if you have a sufficiently recent version of Matlab. I can't remember when this functionality was added to the round function though.

Categorías

Más información sobre Graph and Network Algorithms en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by