Как можно обрезать значение с плавающей запятой до первых трех цифр? - PullRequest
0 голосов
/ 06 июля 2018

это мой первый вопрос здесь, и, может быть, я просто слепой или очень глупый, но я не нашел подходящего ответа на мою проблему за последние три дня. В настоящее время я кодирую Idlegame (просто чтобы узнать больше об ООП и подобных вещах), и, очевидно, будут некоторые числа, которые слишком велики для int или long (например, 1500000000000 (1.5E12)). Поэтому я решил пойти с поплавками по двум причинам:

  1. Любой другой тип, который может хранить больше, чем int или long (например, BigInteger или BigDecimal), не решит мою проблему сокращения отображаемых чисел в пользовательском интерфейсе.
  2. Мне нравится форматирование числа с плавающей запятой с показателем степени в конце.

Из-за некоторых проблем с длиной исходящего номера (1.50000003E12 (я думаю, что ... 03 в конце числа происходит из Float.toString (), который я использую, чтобы установить его на метку javafx) Я думал о форматировании их единообразным способом (на мой взгляд, это должно выглядеть как 1.23E45), поэтому я много гуглил, много читал, много пробовал, но все еще не получил никакого рабочего решения. на SO я читал несколько способов форматирования чисел с помощью «String.format ()» и «DecimalFormat», но результат оказался не таким, как ожидалось. значение с плавающей точкой написано полностью, что на самом деле противоположно тому, чего я хочу достичь.

Таким образом, мое желание было бы рабочим решением или подсказкой, которая помогла бы мне в дальнейшем достичь моей цели - показать только первые три цифры числа с плавающей запятой и добавить показатель степени.

Если чего-то не хватает, что поможет найти лучшее решение для моей проблемы, не стесняйтесь просить об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...