Uploaded image for project: 'Qt for Python'
  1. Qt for Python
  2. PYSIDE-2168

QLocale.toString() issues

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2: Important P2: Important
    • 6.5.0, 6.4.3, 6.2.12
    • 6.4.0
    • PySide
    • None
    • 87482f9ad (dev), 02e488c61 (dev), f13c65573 (6.4), 0dd3c3403 (tqtc/lts-6.2)

      Hi,

      I am having some issues using toString function from QLocale since I moved from PyQt5. My locale country is Spain, in case it matters for some region options. For trying to reproduce the following cases you can create a locale object first from QtCore.

       

      Negative numbers support:

      locale.toString(-4)  --> OverflowError. As is an integer number it should detect it and convert it, as is supported in the API

      Wrong decimal separator representation:

      locale.toString(1234)   --> 1234    (thousand separator is missing)

      locale.toString(12345) --> 12.345 (thousand separator is correct)

      locale.toString(float(3355443), 'f', 3) --> 3355.443,000 (thousand separator is missing)

      Supported signatures:

      When you get a TypeError exception a supported signatures option list appears. As it seems that the argument must be the right/excepted type when you could each function, it would be nice to get the different overload functions in the description as in the documented API.

       

      This is the API documentation for QLocale.toString() function.

      https://doc.qt.io/qtforpython/PySide6/QtCore/QLocale.html#PySide6.QtCore.PySide6.QtCore.QLocale.toString

       

      Thanks for your help.

      Iván

      Python 3.10
      Qt 6.4.3 (x86_64-little_endian-lp64 shared (dynamic) debug build; by GCC 11.3.0)
      
      toString(1234)= 1234
      toString(12345)= 12.345
      toString(float(3355443), 'f', 3)= 3355.443,000
      pyside268.py:16: RuntimeWarning: libshiboken: Overflow: Value -4 exceeds limits of type  [unsigned] "m" (8bytes).
        print("toString(-4)=", spanish.toString(-4))
      Traceback (most recent call last):
        File "/data1/kleint/projects/pyside268.py", line 16, in <module>
          print("toString(-4)=", spanish.toString(-4))
      OverflowError
      

        For Gerrit Dashboard: PYSIDE-2168
        # Subject Branch Project Status CR V

            crmaurei Cristian Maureira-Fredes
            igc-dev Ivan Gonzalez
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: