在Python中,存在fractions.Fraction和decimal.Decimal标准库类,以帮助保持有理数精确的算术。TypeError: conversion from Fraction to Decimal is not supported>>> decimal.Decimal(floatfractions.Fraction(3, 10)))
Decimal('0.299999999999999988897769753748434595763683319
我正在尝试在SQLAlchemy上创建一个类型转换器,它从数据库中获取BIGINTEGER,并将其转换为Base64值。问题是,由于某些原因,来自数据库的值不是int,而是decimal.Decimal。我怀疑这链接到我使用的BigInteger类(来自MySQL方言,而不是来自SQLAlchemy的BIGINT,因为我需要设置unsigned参数)。你知道如何以int而不是decimal.Decimal的形式从数据库中获取值吗?return base