Add support for trunc().
This commit is contained in:
parent
71dba4ccee
commit
5a05364049
|
@ -1433,6 +1433,8 @@ class Decimal(object):
|
|||
else:
|
||||
return s*int(self._int[:self._exp] or '0')
|
||||
|
||||
__trunc__ = __int__
|
||||
|
||||
def __long__(self):
|
||||
"""Converts to a long.
|
||||
|
||||
|
|
|
@ -1151,6 +1151,7 @@ class DecimalUsabilityTest(unittest.TestCase):
|
|||
checkSameDec("__floordiv__", True)
|
||||
checkSameDec("__hash__")
|
||||
checkSameDec("__int__")
|
||||
checkSameDec("__trunc__")
|
||||
checkSameDec("__long__")
|
||||
checkSameDec("__mod__", True)
|
||||
checkSameDec("__mul__", True)
|
||||
|
@ -1216,6 +1217,16 @@ class DecimalPythonAPItests(unittest.TestCase):
|
|||
r = d.to_integral(ROUND_DOWN)
|
||||
self.assertEqual(Decimal(int(d)), r)
|
||||
|
||||
def test_trunc(self):
|
||||
for x in range(-250, 250):
|
||||
s = '%0.2f' % (x / 100.0)
|
||||
# should work the same as for floats
|
||||
self.assertEqual(int(Decimal(s)), int(float(s)))
|
||||
# should work the same as to_integral in the ROUND_DOWN mode
|
||||
d = Decimal(s)
|
||||
r = d.to_integral(ROUND_DOWN)
|
||||
self.assertEqual(Decimal(trunc(d)), r)
|
||||
|
||||
class ContextAPItests(unittest.TestCase):
|
||||
|
||||
def test_pickle(self):
|
||||
|
|
Loading…
Reference in New Issue