File tree 3 files changed +73
-0
lines changed 3 files changed +73
-0
lines changed Original file line number Diff line number Diff line change
1
+ # How to Round Numbers in Python
2
+
3
+ Here you can find code examples showing different rounding strategies as covered by the Real Python tutorial [ How to Round Numbers in Python] ( https://realpython.com/python-rounding/ ) .
Original file line number Diff line number Diff line change
1
+ import math
2
+
3
+
4
+ def truncate (n , decimals = 0 ):
5
+ multiplier = 10 ** decimals
6
+ return int (n * multiplier ) / multiplier
7
+
8
+
9
+ def round_up (n , decimals = 0 ):
10
+ multiplier = 10 ** decimals
11
+ return math .ceil (n * multiplier ) / multiplier
12
+
13
+
14
+ def round_down (n , decimals = 0 ):
15
+ multiplier = 10 ** decimals
16
+ return math .floor (n * multiplier ) / multiplier
17
+
18
+
19
+ def round_half_up (n , decimals = 0 ):
20
+ multiplier = 10 ** decimals
21
+ return math .floor (n * multiplier + 0.5 ) / multiplier
22
+
23
+
24
+ def round_half_down (n , decimals = 0 ):
25
+ multiplier = 10 ** decimals
26
+ return math .ceil (n * multiplier - 0.5 ) / multiplier
27
+
28
+
29
+ def round_half_away_from_zero (n , decimals = 0 ):
30
+ rounded_abs = round_half_up (abs (n ), decimals )
31
+ return math .copysign (rounded_abs , n )
32
+
33
+
34
+ def round_half_to_even (n , decimals = 0 ):
35
+ return round (n , ndigits = decimals )
Original file line number Diff line number Diff line change
1
+ import numpy as np
2
+
3
+
4
+ def truncate (n , decimals = 0 ):
5
+ multiplier = 10 ** decimals
6
+ return np .trunc (n * multiplier ) / multiplier
7
+
8
+
9
+ def round_up (n , decimals = 0 ):
10
+ multiplier = 10 ** decimals
11
+ return np .ceil (n * multiplier ) / multiplier
12
+
13
+
14
+ def round_down (n , decimals = 0 ):
15
+ multiplier = 10 ** decimals
16
+ return np .floor (n * multiplier ) / multiplier
17
+
18
+
19
+ def round_half_up (n , decimals = 0 ):
20
+ multiplier = 10 ** decimals
21
+ return np .floor (n * multiplier + 0.5 ) / multiplier
22
+
23
+
24
+ def round_half_down (n , decimals = 0 ):
25
+ multiplier = 10 ** decimals
26
+ return np .ceil (n * multiplier - 0.5 ) / multiplier
27
+
28
+
29
+ def round_half_away_from_zero (n , decimals = 0 ):
30
+ rounded_abs = round_half_up (np .abs (n ), decimals )
31
+ return np .copysign (rounded_abs , n )
32
+
33
+
34
+ def round_half_to_even (n , decimals = 0 ):
35
+ return np .round (n , decimals = decimals )
You can’t perform that action at this time.
0 commit comments