mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-03 03:59:12 +00:00
Fixes 15544: Histogram not working for more than 15 units (#15617)
This commit is contained in:
parent
731813c0e1
commit
e06e5c1bdd
@ -346,6 +346,8 @@ def format_large_string_numbers(number: Union[float, int]) -> str:
|
||||
units = ["", "K", "M", "B", "T"]
|
||||
constant_k = 1000.0
|
||||
magnitude = int(floor(log(abs(number), constant_k)))
|
||||
if magnitude >= len(units):
|
||||
return f"{int(number / constant_k**magnitude)}e{magnitude*3}"
|
||||
return f"{number / constant_k**magnitude:.3f}{units[magnitude]}"
|
||||
|
||||
|
||||
|
||||
@ -157,6 +157,12 @@ class TestHelpers(TestCase):
|
||||
assert format_large_string_numbers(1000000) == "1.000M"
|
||||
assert format_large_string_numbers(1000000000) == "1.000B"
|
||||
assert format_large_string_numbers(1000000000000) == "1.000T"
|
||||
assert format_large_string_numbers(10000000000000) == "10.000T"
|
||||
assert format_large_string_numbers(100000000000000) == "100.000T"
|
||||
assert format_large_string_numbers(1000000000000000) == "1e15"
|
||||
assert format_large_string_numbers(10000000000000000) == "10e15"
|
||||
assert format_large_string_numbers(100000000000000000) == "100e15"
|
||||
assert format_large_string_numbers(1000000000000000000) == "1e18"
|
||||
|
||||
def test_find_suggestion(self):
|
||||
"""we can get one possible suggestion"""
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user