Функция math.isclose
действительно предназначена для работы с неточностями с плавающей точкой. Вы можете использовать его для этого, но вам нужно настроить его соответствующим образом: числа в вашем примере расположены более чем на 0.1
.
Если вы не беспокоитесь о неточностях с плавающей запятой, лучший способ сравнить их - очевидный:
def equivalent(a, b):
return abs(a-b) < 0.1
Вы могли использовать Поток с помощью пользовательского типа и отобразить его согласно потребностям устройства хранения данных. Но существуют некоторые проблемы с использованием Потокового объекта, как я упоминаю в своем ряду блога о ленивой потоковой передаче БЛОБОВ и CLOBs с NHibernate.
То, в чем Вы действительно нуждаетесь, является объектом Блоба, который в свою очередь может создать Поток для чтения данных с. Так как Поток содержит информацию о положении, из которого Вы читаете, и ожидает быть закрытым, и избавленным это может создать некоторые проблемы при прямом использовании в модели предметной области.
Я предложил бы, чтобы Вы смотрели на ряд блога, а также исходный код NHibernate. Проект свечи. Это включает различные опции отображения для просто такой проблемы. Немного едва зарегистрированный до сих пор, но больше прибывает.