> 3 MOD 1.5 => result is 0 > DIM n > 3 MOD n => result is 1 Obviously in the first case, the literal '1.5' was truncated to 1, while in the second case, it was rounded to 2. See also tdf#141200, where MOD documentation is discussed. Ref: https://ask.libreoffice.org/en/question/300133/macro-using-mod-and-variables-produces-wrong-answer/
> > DIM n > > 3 MOD n Oh, of course I missed a line: > DIM n > n = 1.5 > 3 MOD n It's easier to see the rounding/truncation using '5 MOD 2.5'.
I can confirm this in LO 7.1.2.2. Here's a simple example of how this bug may affect results: Sub ExampleMod Dim a As Double, b as Double a = 16.4 b = 5.9 Print a Mod b 'Prints 4 Print 16.4 Mod 5.9 'Prints 1 End Sub The first Print statement returns the correct value (consistent with MS VBA's result). In the second Print statement it seems that LO Basic only considers the integer part of the operands. So 16.4 turns into 16 and 5.9 turns into 5, then 16 MOD 5 returns 1. I am changing this to NEW.
Oh - this is actually a regression from tdf#84435, which was a misguided incorrect change...
Andreas Heinisch committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/a9fcd2cf2bfb42693787e8c4197e5988e155e235 tdf#141201 - Round MOD literals to Integer values It will be available in 7.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Andreas Heinisch committed a patch related to this issue. It has been pushed to "libreoffice-7-1": https://git.libreoffice.org/core/commit/6fa9053b1bdc69e78d4403975d7623eb22b05898 tdf#141201 - Round MOD literals to Integer values It will be available in 7.1.3. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.