def __init__(self, decimals=5, default=0, attribute=None, error=None, *args, **kwargs): super(Fixed, self).__init__(default=default, attribute=attribute, error=error, *args, **kwargs) self.precision = MyDecimal('0.' + '0' * (decimals - 1) + '1')
def format(self, value): dvalue = MyDecimal(value) if not dvalue.is_normal() and dvalue != ZERO: raise MarshallingException('Invalid Fixed precision number.') return six.text_type(dvalue.quantize(self.precision, rounding=ROUND_HALF_EVEN))
def __init__(self, decimals=5, **kwargs): super(Fixed, self).__init__(**kwargs) self.precision = MyDecimal('0.' + '0' * (decimals - 1) + '1')
def format(self, value): return six.text_type(MyDecimal(value))
self.dt_format = dt_format def format(self, value): try: if self.dt_format == 'rfc822': return _rfc822(value) elif self.dt_format == 'iso8601': return _iso8601(value) else: raise MarshallingException( 'Unsupported date format %s' % self.dt_format ) except AttributeError as ae: raise MarshallingException(ae) ZERO = MyDecimal() class Fixed(Raw): """ A decimal number with a fixed precision. """ def __init__(self, decimals=5, **kwargs): super(Fixed, self).__init__(**kwargs) self.precision = MyDecimal('0.' + '0' * (decimals - 1) + '1') def format(self, value): dvalue = MyDecimal(value) if not dvalue.is_normal() and dvalue != ZERO: raise MarshallingException('Invalid Fixed precision number.') return six.text_type(dvalue.quantize(self.precision, rounding=ROUND_HALF_EVEN))
def __init__(self, decimals=5, **kwargs): super(Fixed, self).__init__(**kwargs) self.precision = MyDecimal("0." + "0" * (decimals - 1) + "1")
def format(self, value): return unicode(MyDecimal(value))
def format(self, value): return str(MyDecimal(value))