How can i use round function to change decimal value to integer ?

1 Ansicht (letzte 30 Tage)
Hi all!
i used the function "round" in order to round values in matrix, but it does not display the required result.
for example i have
x=1.5919 1.0e+06 *
i used
A=round(x)/(10^6)
i get this
X=1.5919 ,but the result i want is X=2.
Thanks in advance

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 15 Sep. 2022
format long g
x = 1.5919 * 1.0e+06
x =
1591900
round(x/10^6)
ans =
2
If you are wanting to round to 1 significant digit, then it gets a bit more complicated in vectorized form
x = [pi*10^6, exp(1)*10^-5, -sqrt(2)*10^2, -inf, inf, 0, nan].'
x = 7×1
1.0e+00 * 3141592.65358979 2.71828182845904e-05 -141.42135623731 -Inf Inf 0 NaN
scale = 10.^floor(log10(abs(x)));
scale(scale == 0 | ~isfinite(scale)) = 1;
A = round(x ./ scale) .* scale
A = 7×1
1.0e+00 * 3000000 3e-05 -100 -Inf Inf 0 NaN

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with MATLAB finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by