Linux_er
Окт. 3, 2013 10:12:37
Добрый день. у меня такой вопрос.
есть вещественное число, например: 34,25
необходимо преобразовать его в строку вида 34.25 (разделитель точка)
а также обратное преобразование из str 34.25 в float 34,25
много перерыл в инете, но ничего понятного не нашел.
помогите кто может, пожалуйста.
Singularity
Окт. 3, 2013 10:14:40
Linux_er
есть вещественное число, например: 34,25
в питоне разделитель точка
Singularity
Окт. 3, 2013 10:15:28
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]:
Linux_er
Окт. 3, 2013 10:50:48
разделитель то точка.
вопрос в том что в виджете из класса QDoublespinBox() значения вводятся в формате: 0,00
поэтому мне и необходимо преобразовать число в формат: 0.00
или может есть способ сделать так, чтобы числа в виджете QDoublespinBox() вводились в виде 0.00?
вот в чем состоит проблема.
JOHN_16
Окт. 3, 2013 15:35:26
Это не проблема, решение “в лоб”
>>> s='34,25'
>>> f=float(s.replace(',', '.'))
>>> f
34.25
>>> str(f).replace(',', '.')
'34.25'
py.user.next
Окт. 5, 2013 23:23:36
JOHN_16
>>> str(f).replace(',', '.')
'34.25'
>>> s = '34,25'
>>> f = float(s.replace(',', '.'))
>>> f
34.25
>>> str(f).replace('.', ',')
'34,25'
>>>
doza_and
Окт. 6, 2013 15:50:31
Linux_er
сделать так, чтобы числа в виджете QDoublespinBox() вводились в виде 0.00
Про QDoublespinBox не знаю, но обычно формат определяется настройками локали, этим он и лечится. При этом из контрола надо тащить сразу float а не преобразовывать из строки.
Rodegast
Окт. 7, 2013 20:18:12
> вопрос в том что в виджете из класса QDoublespinBox() значения вводятся в формате: 0,00
Какая разница как они вводятся? У QDoublespinBox-а есть методы setValue и value, их и пользуй!