El paso a paso o código que hallarás en este post es la solución más rápida y válida que hallamos a esta duda o dilema.
Solución:
Aquí hay un método para truncar d
dígitos después del decimal.
val = 1.234567;
d = 4;
val_trunc = fix(val*10^d)/10^d
Resultado
val_trunc =
1.2345
si sabes eso val
es positivo entonces floor()
funcionará en lugar de fix()
.
Otra opción más:
x = -3.141592653;
x_trun = x - rem(x,0.0001)
x_trun =
-3.1415
Felicitaciones a gnovice por la actualización.
En general, para n
lugares decimales:
x_trun = x - rem(x,10^-n)
Truncar es como redondear si restas 5
del decimal posterior al último que desea conservar.
Entonces, para truncar x
para n
uso de cifras decimales
round(x - sign(x)*.5/10^n, n)
(Gracias a @gnovice por notar la necesidad de sign(x)
para tratar con números negativos.)
Por ejemplo,
format long
x = 3.141592653589793;
for n = 2:5
result = round(x - sign(x)*.5/10^n, n);
disp(result)
end
da
3.140000000000000
3.141000000000000
3.141500000000000
3.141590000000000
Valoraciones y reseñas
Si conservas algún disgusto o capacidad de regenerar nuestro enunciado eres capaz de escribir una interpretación y con mucho gusto lo estudiaremos.