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
      

        1. image-2022-12-27-11-27-20-547.png
          25 kB
          Ivan Gonzalez
        2. pyside2168.py
          0.7 kB
          Friedemann Kleint
        3. image-2023-01-09-11-21-17-912.png
          1 kB
          Ivan Gonzalez
        4. image-2023-01-09-11-25-54-842.png
          32 kB
          Ivan Gonzalez
        5. image-2023-01-09-11-26-18-080.png
          34 kB
          Ivan Gonzalez
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

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

              Created:
              Updated:
              Resolved: