mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-13 17:32:53 +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"]
|
units = ["", "K", "M", "B", "T"]
|
||||||
constant_k = 1000.0
|
constant_k = 1000.0
|
||||||
magnitude = int(floor(log(abs(number), constant_k)))
|
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]}"
|
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(1000000) == "1.000M"
|
||||||
assert format_large_string_numbers(1000000000) == "1.000B"
|
assert format_large_string_numbers(1000000000) == "1.000B"
|
||||||
assert format_large_string_numbers(1000000000000) == "1.000T"
|
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):
|
def test_find_suggestion(self):
|
||||||
"""we can get one possible suggestion"""
|
"""we can get one possible suggestion"""
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user