Date: prev next · Thread: first prev next last
2017 Archives by date, by thread · List index


Hi,

https://cgit.freedesktop.org/libreoffice/core/commit/?id=7616e1c18869cda8a924e26337e3f1c83cbb7efe

adds two new LocaleDataWrapper::stringToDouble() functions (one taking
a const OUString& and the other const sal_Unicode* for start and end).
For a detailed description see include/unotools/localedatawrapper.hxx

These should be used whenever a string with locale dependent decimal and
group separators is to be parsed as a floating-point number into
a double, instead of obtaining separators from a LocaleDataWrapper
instance and calling rtl::math::stringToDouble().

Background is that due to
https://bugs.documentfoundation.org/show_bug.cgi?id=81671
now an alternative input decimal separator can be defined and these
functions take care of that.

I already changed existing places that called
rtl::math::stringToDouble() locale dependent, for example
https://cgit.freedesktop.org/libreoffice/core/commit/?id=7cf453c78ce67f17661bfc74d1df6073cfc9d2ad

SvNumberFormatter::IsNumberFormat() is also adapted, so places using
that need no change, same for cclass_Unicode::parseText() and thus
XCharacterClassification::parsePredefinedToken() and parseAnyToken() and
their class CharClass wrappers.

Also adapted are implementations in BASIC that use ImpGetIntntlSep().

Code that implements (why?) some own parsing likely has to be adjusted to
accept the alternative as well

Another thing I encountered was
connectivity/source/commontools/predicateinput.cxx that uses separators
obtained by getSeparatorChars(). I wasn't sure if and what change it
would need and the implications a change there would have.
Anyway, the OSQLParseNode::parseNodeToPredicateStr() used to translate
it back taking a casted (yuck) sal_Char separator looks crap and doesn't
work correctly with Arabic locales (and maybe others).

Happy Input.

  Eike

-- 
LibreOffice Calc developer. Number formatter stricken i18n transpositionizer.
GPG key 0x6A6CD5B765632D3A - 2265 D7F3 A7B0 95CC 3918  630B 6A6C D5B7 6563 2D3A
Care about Free Software, support the FSFE https://fsfe.org/support/?erack

Attachment: signature.asc
Description: PGP signature


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.