Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 23, 2007 18:04:55

Viper
От:
Зарегистрирован: 2006-11-08
Сообщения: 137
Репутация: +  0  -
Профиль   Отправить e-mail  

Форматирование вещественых чисел.

Зачем усложнять?

>>> repr(0.23)
'0.23000000000000001'
>>> str(float(repr(0.23)))
'0.23'



Офлайн

#2 Авг. 24, 2007 06:58:07

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

Форматирование вещественых чисел.

>>> 0.23
0.23000000000000001
>>> str(0.23)
'0.23'



Офлайн

#3 Авг. 27, 2007 10:06:27

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

Форматирование вещественых чисел.

Viper
Зачем усложнять?
затем, что у меня только 5 цифр после запятой.



Офлайн

#4 Ноя. 7, 2007 06:48:26

OlDer
От:
Зарегистрирован: 2006-07-19
Сообщения: 133
Репутация: +  0  -
Профиль   Отправить e-mail  

Форматирование вещественых чисел.

balu
Это kinterbasdb страдает…
На всякий случай скажу, хоть может, и поздно. Нужно использовать kinterbasdb.init(type_conv=200) и тогда kinterbasdb будет представлять NUMERIC данные в виде стандартного Decimal:
http://kinterbasdb.sourceforge.net/dist_docs/usage.html#adv_param_conv_dynamic_type_translation_deferred_loading_backcompat
Но, конечно, это можно делать если у вас python 2.4 или выше. Или в 2.3 можно отдельно установить модуль Decimal.



Офлайн

#5 Янв. 5, 2008 10:34:05

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

Форматирование вещественых чисел.

OlDer
На всякий случай скажу, хоть может, и поздно. Нужно использовать
Код: :python:

kinterbasdb.init(type_conv=200)

и тогда kinterbasdb будет представлять NUMERIC данные в виде стандартного Decimal:
Все равно не всегда корректно отображает. Вот она оборотная сторона динамической типизации.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version