Quickfix Float Fields - PullRequest
       63

Quickfix Float Fields

0 голосов
/ 20 сентября 2019

Я хотел бы знать, как правильно читать поля с плавающей запятой, используя Quickfix (python).Я получал строку, затем приводил ее к числу с плавающей точкой.

Например:

>>> m = fix.Message()
>>> m.setField(fix.BidPx(1.12))
>>> m.getField(fix.BidPx()).getString()
'1.12'
>>> float(m.getField(fix.BidPx()).getString())
1.12

Способ, описанный выше, отлично работает для чисел с плавающей точкой с точностью менее 15 цифр.Но я получил следующую ошибку для чисел с плавающей запятой с точностью до 15 цифр:

>>> m = fix.Message()
>>> m.setField(fix.BidPx(1.123456789123456))
>>> m.getField(fix.BidPx()).getString()
'\x00\xe1}\xf5\x82U\x00\x0078912346'

>>> float(m.getField(fix.BidPx()).getString())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: could not convert string to float:
...