Форум сайта python.su
Добрый день. у меня такой вопрос.
есть вещественное число, например: 34,25
необходимо преобразовать его в строку вида 34.25 (разделитель точка)
а также обратное преобразование из str 34.25 в float 34,25
много перерыл в инете, но ничего понятного не нашел.
помогите кто может, пожалуйста.
Офлайн
Linux_erв питоне разделитель точка
есть вещественное число, например: 34,25
Офлайн
In [1]: 34,25 Out[1]: (34, 25) # python принял это за кортеж In [2]: f = str(34.25) In [3]: f Out[3]: '34.25' In [4]: float(f) Out[4]: 34.25 In [5]:
Отредактировано Singularity (Окт. 3, 2013 10:15:59)
Офлайн
разделитель то точка.
вопрос в том что в виджете из класса QDoublespinBox() значения вводятся в формате: 0,00
поэтому мне и необходимо преобразовать число в формат: 0.00
или может есть способ сделать так, чтобы числа в виджете QDoublespinBox() вводились в виде 0.00?
вот в чем состоит проблема.
Офлайн
Это не проблема, решение “в лоб”
>>> s='34,25' >>> f=float(s.replace(',', '.')) >>> f 34.25 >>> str(f).replace(',', '.') '34.25'
Офлайн
JOHN_16>>> str(f).replace(',', '.') '34.25'
>>> s = '34,25' >>> f = float(s.replace(',', '.')) >>> f 34.25 >>> str(f).replace('.', ',') '34,25' >>>
Отредактировано py.user.next (Окт. 5, 2013 23:24:32)
Офлайн
Linux_erПро QDoublespinBox не знаю, но обычно формат определяется настройками локали, этим он и лечится. При этом из контрола надо тащить сразу float а не преобразовывать из строки.
сделать так, чтобы числа в виджете QDoublespinBox() вводились в виде 0.00
Отредактировано doza_and (Окт. 6, 2013 15:52:25)
Офлайн
> вопрос в том что в виджете из класса QDoublespinBox() значения вводятся в формате: 0,00
Какая разница как они вводятся? У QDoublespinBox-а есть методы setValue и value, их и пользуй!
Офлайн