Floor/Fix rounds the result of a division (60.000) to 59
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
DGM
2022-4-7
It is rounded down to the next integer.
format short
33/0.55
format long
33/0.55
It's just a matter of floating point error and display settings.
回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!