это мой первый вопрос здесь, и, может быть, я просто слепой или очень глупый, но я не нашел подходящего ответа на мою проблему за последние три дня. В настоящее время я кодирую Idlegame (просто чтобы узнать больше об ООП и подобных вещах), и, очевидно, будут некоторые числа, которые слишком велики для int или long (например, 1500000000000 (1.5E12)). Поэтому я решил пойти с поплавками по двум причинам:
- Любой другой тип, который может хранить больше, чем int или long (например, BigInteger или BigDecimal), не решит мою проблему сокращения отображаемых чисел в пользовательском интерфейсе.
- Мне нравится форматирование числа с плавающей запятой с показателем степени в конце.
Из-за некоторых проблем с длиной исходящего номера (1.50000003E12 (я думаю, что ... 03 в конце числа происходит из Float.toString (), который я использую, чтобы установить его на метку javafx) Я думал о форматировании их единообразным способом (на мой взгляд, это должно выглядеть как 1.23E45), поэтому я много гуглил, много читал, много пробовал, но все еще не получил никакого рабочего решения. на SO я читал несколько способов форматирования чисел с помощью «String.format ()» и «DecimalFormat», но результат оказался не таким, как ожидалось. значение с плавающей точкой написано полностью, что на самом деле противоположно тому, чего я хочу достичь.
Таким образом, мое желание было бы рабочим решением или подсказкой, которая помогла бы мне в дальнейшем достичь моей цели - показать только первые три цифры числа с плавающей запятой и добавить показатель степени.
Если чего-то не хватает, что поможет найти лучшее решение для моей проблемы, не стесняйтесь просить об этом.