round-off issue?

1 Ansicht (letzte 30 Tage)
Leor Greenberger
Leor Greenberger am 20 Sep. 2011
I can't figure out why the floor wont come to 1752?
>> 3.501/40*20*10^3+1.5
ans =
1.752000000000000e+003
>> floor(ans)
ans =
1751

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 20 Sep. 2011
Rounding error caused by floating point calculation.
>> 3.501/40*20*10
ans =
17.504999999999995
  2 Kommentare
Jan
Jan am 20 Sep. 2011
sprintf('%.13f', 3.501/40*20*10^3+1.5)
>> 1751.9999999999998
sprintf('%.12f', 3.501/40*20*10^3+1.5)
>> 1752.000000000000
Fangjun Jiang
Fangjun Jiang am 20 Sep. 2011
Thanks, Jan! That's even better to explain the problem!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by