@kirawa

Какой тип данных использовать?

Делаю калькулятор ну и например складываю два числа например 99999999998 + 1 и получаю 1.0E11
как получить 99999999999
  • Вопрос задан
  • 2520 просмотров
Пригласить эксперта
Ответы на вопрос 3
@onepavel
Консультация и разработка мобильных приложений
может BigInteger и BigDecimal в пакете Java.math смогут помочь
Ответ написан
Комментировать
@reserv
Можно, например, написать такой метод для отображения числа в строку:
public static String getNumberStr(Double num) {
  if (num == null) {
    return "";
  }

  final DecimalFormat n = new DecimalFormat("#.####################");
  n.setDecimalFormatSymbols(new DecimalFormatSymbols(new Locale("EN")));
  return n.format(num);
}
Ответ написан
Комментировать
@kirawa Автор вопроса
BigDecimal one = new BigDecimal(99999999998l);
        BigDecimal two = new BigDecimal(1);
        one = one.add(two); // сложение
        System.out.println(one.round(new MathContext(3,RoundingMode.HALF_UP)));

выводит:1.00E+11
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы