Я хотел бы форматировать следующие числа в числа рядом с ними с помощью java:
1000 to 1k
5821 to 5.8k
10500 to 10k
101800 to 101k
2000000 to 2m
7800000 to 7.8m
92150000 to 92m
123200000 to 123m
Число справа будет длинным или целочисленным, число слева будет строкой. Как мне подойти к этому. Я уже сделал маленький алгоритм для этого, но я думал, что может быть уже что-то изобретенное там, которое лучше работает на нем и не требует дополнительного тестирования, если я начну иметь дело с миллиардами и триллионами:)
Дополнительные требования:
- Формат должен содержать не более 4 символов
- Вышеуказанное означает, что 1.1k в порядке 11.2k - нет. То же самое для 7.8m в порядке 19.1m нет. Только одна цифра перед десятичной точкой допускается иметь десятичную точку. Две цифры до десятичной точки означают не цифры после десятичной точки.
- Не требуется округление. (Числа, отображаемые с добавлением k и m, больше аналогового калибра, указывающего аппроксимацию, а не точный предмет логики. Следовательно, округление не имеет значения в основном из-за природы переменной, чем может увеличивать или уменьшать несколько цифр, даже если вы смотрите на результат в кеше).