forked from ConradSelig/cliStocksTracker
-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.py
17 lines (15 loc) · 734 Bytes
/
utils.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from math import trunc
# Rounds value down to the desired number of decimals digits (controlled decimal_places) using math or truncate mode
def round_value(value, mode, decimal_places):
if mode == "math":
return round(value, decimal_places)
elif mode == "down":
# Check that decimal_places is a non-negative integer
if not (type(decimal_places) == int):
raise TypeError("The number of decimal places has to be an integer")
elif decimal_places < 0:
raise ValueError("The number of decimal places has to be positive")
elif decimal_places == 0:
return trunc(value)
factor = 10.0 ** decimal_places
return trunc(value * factor) / factor