# Floor/Fix rounds the result of a division (60.000) to 59

4 visualizzazioni (ultimi 30 giorni)
Levin Schaefer il 7 Apr 2022
Commentato: DGM il 7 Apr 2022
Hello,
I have the problem that Matlab rounds (using floor/fix) the result of my division, 33 / 0.55, towards 59 instead of 60. The code looks like this:
s = floor(a / b)
Where 'a' and 'b' come from a GUI and can be integers or decimals (but never negativ or zero). When I set a = 33 and b = 0.55 and run the program matlab produces as a intermediate result, of a / b, 60.000 (I checked it), which get afterwards rounded by floor (or fix) to 59.
The ultimate goal of the part of the code is to divide 'a' through 'b' and give an integer back, where the integer should be rounded down towards the next integer (1.7 to 1 or 4.9 to 4 etc.).
Thanks for the help!
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
DGM il 7 Apr 2022
It is rounded down to the next integer.
format short
33/0.55
ans = 60.0000
format long
33/0.55
ans =
59.999999999999993
It's just a matter of floating point error and display settings.

Accedi per commentare.

### Risposte (1)

Mohammed Hamaidi il 7 Apr 2022
Hi
Just use:
s=round(a/b)
##### 0 CommentiMostra -2 commenti meno recentiNascondi -2 commenti meno recenti

Accedi per commentare.

### Categorie

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

R2020a

### Community Treasure Hunt

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

Start Hunting!

Translated by