コード例 #1
0
 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')
コード例 #2
0
 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))
コード例 #3
0
 def __init__(self, decimals=5, **kwargs):
     super(Fixed, self).__init__(**kwargs)
     self.precision = MyDecimal('0.' + '0' * (decimals - 1) + '1')
コード例 #4
0
 def format(self, value):
     return six.text_type(MyDecimal(value))
コード例 #5
0
        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))
コード例 #6
0
ファイル: fields.py プロジェクト: GSIL-Monitor/xxw
 def __init__(self, decimals=5, **kwargs):
     super(Fixed, self).__init__(**kwargs)
     self.precision = MyDecimal("0." + "0" * (decimals - 1) + "1")
コード例 #7
0
ファイル: fields.py プロジェクト: armadillu/LocalProjectsRPG
 def format(self, value):
     return unicode(MyDecimal(value))
コード例 #8
0
 def format(self, value):
     return str(MyDecimal(value))