Получить номера после запятой (из двойных чисел)

1

Представьте, что у меня 4,81 (двойной), как я могу получить цифры после запятой?

Я хочу получить 8 как целое и 1 как другое.

благодаря

  • 1
    Одним из способов является преобразование в строку и манипулирование этим, извлечение отдельных символов, а затем преобразование их обратно в int
  • 2
    Что такое ввод, строка или двойной?
Показать ещё 1 комментарий
Теги:
double

2 ответа

3
Лучший ответ

Удваивает сложно работать, когда вас интересуют десятичные свойства, такие как десятичные цифры дробной части.

Я предлагаю вам String.valueOf преобразование в десятичные числа и работать с результирующей строкой.

double d = 4.81;
String s = String.valueOf(d);

for (int i = s.indexOf(".") + 1; i < s.length(); i++) {
    int digit = Character.getNumericValue(s.charAt(i));
    System.out.println(digit);
}

Вывод:

8
1
  • 0
    Но числа все еще не преобразованы в целые числа, и это то, что спросил ОП. Возможно, вам следует добавить преобразование в целое число.
  • 0
    Ответ обновлен.
Показать ещё 2 комментария
0

Вы всегда можете сделать такой цикл:

double number = 4,81;
while (condition) {
  number *= 10;
  int nextNumber = Math.floor(number) % 10;
}
  • 0
    но двойное число не может принять запятую , я не уверен, как спрашивающий имеет запятую в двойном
  • 1
    Я думаю, что кома / точка определяется региональными настройками.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню