Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-113443

QLocale::toDouble() fails to convert a string with Latin "e" or "E" as exponent separator in Ukrainian locale

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2: Important
    • 6.5.2, 6.6.0
    • 6.4.3, 6.5.0, 6.5.1
    • Core: Locales (i18n)
    • None
    • 74b377313 (dev), fdbddb179 (6.5), 4768fcf83 (dev), 11dc07472 (6.5)
    • Foundation PM Staging

    Description

      Using Qt 6.4.3 [QtTest library 6.4.3, Qt 6.4.3 (x86_64-little_endian-lp64 shared (dynamic) release build; by GCC 13.0.1 20230318 (Red Hat 13.0.1-0)), fedora 38], the following command:

      QLocale(QLocale.Ukrainian).toDouble("0,00000000000000000000000000000123e30")

      wrongly returns:

      (0.0, False)

      while, using Qt 5.15.9, the same command correctly returns:

      (1.23, True)

      The same issue occurs using Qt 6.5.0 and in addition also simpler strings with the Latin "e" and Latin "E" characters as exponential separator (like "444,46e1", "444,46E1", ) fail to be convert by QLocale(QLocale.Ukrainian).toDouble()

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-113443
          # Subject Branch Project Status CR V

          Activity

            People

              Eddy Edward Welbourne
              andreaerdna Andrea Giudiceandrea
              Vladimir Minenko Vladimir Minenko
              Alex Blasche Alex Blasche
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews