Description: VAL function Val("1, 2") return 12 definition of function: https://help.libreoffice.org/Basic/Val_Function_Runtime tested LibreOffice 3.5.0 Build ID: d6cde02 and Version: 6.0.0.0.alpha0+ Build ID: 0e35b7738d9f276c0566df0f2cc0f1eed7900d6c CPU threads: 4; OS: Linux 4.4; UI render: default; VCL: gtk2; TinderBox: Linux-rpm_deb-x86_64@70-TDF, Branch:master, Time: 2017-08-22_01:24:19 Steps to Reproduce: 1.open attached file with macro 2.see result of function Val("1, 2") 3. Actual Results: return 12 Expected Results: return 1 Reproducible: Always User Profile Reset: No Additional Info: User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0
Created attachment 135758 [details] test file
A "," is a thousands separator for Basic, so it will be ignored. A "." is a decimal separator. So it will be changed to a decimalpoint. It will be shown in a msgbox with the decimalseparator of the language of the GUI. Don't know if this could be called a bug, because val("1,000") should be 1000. It is the same behavior since the beginning of LO, also present in OOo 2.*
Comments from Noel G.: that sounds like a locale dependent thing where even if it __is__ wrong, and we change it, we will break stuff so even a fix would need to hide behind some kind of strictmode flag Let's close, then.