Feat: MOnumber creating with a integer string

This commit is contained in:
Bertrand Benjamin 2019-07-17 09:53:03 +02:00
parent 204fdf755b
commit b93f34bc38

View File

@ -132,14 +132,17 @@ class MOnumber(Atom):
Atom.__init__(self, value) Atom.__init__(self, value)
else: else:
try: try:
float(value) v = float(value)
except (ValueError, TypeError): except (ValueError, TypeError):
raise MOError( raise MOError(
"The value of an MOnumber need to be a int, a float, a Decimal or a decimal string", "The value of an MOnumber need to be a int, a float, a Decimal or a decimal string",
f"(got {type(value)})", f"(got {type(value)})",
) )
else: else:
Atom.__init__(self, Decimal(value)) if int(v) == v:
Atom.__init__(self, int(v))
else:
Atom.__init__(self, Decimal(value))
self._signature = "scalar" self._signature = "scalar"