Summary: | Bad cint() behaviour for languages using comma as separator before the decimal point | ||
---|---|---|---|
Product: | LibreOffice | Reporter: | Fritz R. Paul <fritz.paul> |
Component: | BASIC | Assignee: | Not Assigned <libreoffice-bugs> |
Status: | NEW --- | ||
Severity: | normal | CC: | aron.budea, struckkai |
Priority: | medium | ||
Version: | 7.2.2.2 release | ||
Hardware: | All | ||
OS: | All | ||
See Also: | https://bugs.documentfoundation.org/show_bug.cgi?id=97983 | ||
Whiteboard: | |||
Crash report or crash signature: | Regression By: | ||
Attachments: | The spreadsheet contains a macro function calling cint on the cell two rows left |
Description
Fritz R. Paul
2021-11-15 15:18:54 UTC
Created attachment 176274 [details]
The spreadsheet contains a macro function calling cint on the cell two rows left
I can't repro *exactly* using Russian set as program locale: both > MsgBox CInt("123.4") and > MsgBox CInt("123,4") result in "123" shown in the dialog. However, this is still a bug. (In reply to Fritz R. Paul from comment #0) > But in the example above, I would expect to either accept the point like a > comma, or at least just ignore the point and the digit after it. The expectation in the description is wrong: what should happen is error, where the input string can't be converted to a number. For comparison, in VBA one of the two calls above gives Run-time error "13": Type mismatch. I can confirm a (mysterious) change in behaviour of the cint command in the 7er versions. with English local language setting: In all previous versions (and OpenOffice) something like cint("1,a") gave 1 cint("1,e") gave 1 cint("1,e2") gave 1 In LO7 all above give 0 In German local setting the "e" is suddenly treated as exponent: In all previous versions (and OpenOffice) something like cint("1,a") gave 1 cint("1,e") gave 1 cint("1,e1") gave 1 cint("1,e2") gave 1 In LO7: cint("1,a") still gives 1 cint("1,e") gives 0 cint("1,e1") gives 10 cint("1,e2") gives 100 I don't know what's going on but report it here. Tested on Windows 10 and LinuxMint17 and 21. |