Skip to content

Instantly share code, notes, and snippets.

@rkaneko
Created June 26, 2018 11:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rkaneko/4544830b743716c0041ecdfeb3a5f1c2 to your computer and use it in GitHub Desktop.
Save rkaneko/4544830b743716c0041ecdfeb3a5f1c2 to your computer and use it in GitHub Desktop.
Check the number is divisible by divisor number considering decimal numbers.
from decimal import Decimal
import numbers
import unittest
def is_divisible(num, divisor):
assert isinstance(num, numbers.Number)
assert isinstance(divisor, numbers.Number)
quotient = Decimal(str(num)) / Decimal(str(divisor))
return int(quotient) == quotient
class TestNumbers(unittest.TestCase):
def test_is_divisible(self):
self.assertTrue(numbers.is_divisible(10, 5))
self.assertTrue(numbers.is_divisible(1, 0.1))
self.assertTrue(numbers.is_divisible(0.15, 0.05))
self.assertTrue(numbers.is_divisible(0.00015, 0.00005))
self.assertFalse(numbers.is_divisible(12, 5))
self.assertFalse(numbers.is_divisible(1.2, 0.7))
if __name__ == '__main__':
unittest.main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment