1+ """
2+ business_round(num)
3+
4+ Internal function to round a number to the nearest IG style.
5+ """
6+ function business_round (num)
7+ if num < 10 ^ 3
8+ return string (num)
9+ elseif num < 10 ^ 4
10+ return string (string (num)[1 ], " K" )
11+ elseif num < 10 ^ 5
12+ return string (string (num)[1 : 2 ], " K" )
13+ elseif num < 10 ^ 6
14+ return string (string (num)[1 : 3 ], " K" )
15+ elseif num < 10 ^ 7
16+ return string (string (num)[1 ], " M" )
17+ elseif num < 10 ^ 8
18+ return string (string (num)[1 : 2 ], " M" )
19+ elseif num < 10 ^ 9
20+ return string (string (num)[1 : 3 ], " M" )
21+ elseif num < 10 ^ 10
22+ return string (string (num)[1 ], " B" )
23+ elseif num < 10 ^ 11
24+ return string (string (num)[1 : 2 ], " B" )
25+ elseif num < 10 ^ 12
26+ return string (string (num)[1 : 3 ], " B" )
27+ elseif num < 10 ^ 13
28+ return string (string (num)[1 ], " T" )
29+ elseif num < 10 ^ 14
30+ return string (string (num)[1 : 2 ], " T" )
31+ elseif num < 10 ^ 15
32+ return string (string (num)[1 : 3 ], " T" )
33+ elseif num < 10 ^ 16
34+ return string (string (num)[1 ], " Q" )
35+ elseif num < 10 ^ 17
36+ return string (string (num)[1 : 2 ], " Q" )
37+ elseif num < 10 ^ 18
38+ return string (string (num)[1 : 3 ], " Q" )
39+ end
40+ end
41+
42+
43+ """
44+ round(::Type{IGRound}, x::Number)
45+
46+ Main function to round a number x to the nearest IG style.
47+
48+ # Arguments
49+ * x: The number to round.
50+
51+ ```
52+ # Example
53+ julia> round(IGRound, 100_000)
54+ "100K"
55+ ```
56+ """
57+ function round (:: Type{IGRound} , x:: Number )
58+ init_round = Base. round (Int, x)
59+ return init_round |> business_round
60+ end
0 commit comments