'Number of digits needed to store & load without loss.
Number of decimal digits needed to guarantee that two consecutive conversions
(float -> text -> float) to be idempotent. This is useful when one do not want
to loose precision due to rounding errors when storing a floating point value
as text.'

@property
def decimal_dig(self):

    from sympy.functions import ceiling, log
    return ceiling(((((self.nmant + 1) * log(2)) / log(10)) + 1))
