Получение первой цифры числа [дубликат]

20
задан Michoel 3 June 2010 в 16:28
поделиться

6 ответов

    int number = 534;
    int firstDigit = Integer.parseInt(Integer.toString(number).substring(0, 1));
27
ответ дан 29 November 2019 в 22:31
поделиться
int number = 534;
String numberString = "" + number;
char firstLetterchar = numberString.charAt(0);
int firstDigit = Integer.parseInt("" + firstLetterChar);
1
ответ дан 29 November 2019 в 22:31
поделиться
int firstDigit = Integer.parseInt(Character.toString(firstLetterChar));
0
ответ дан 29 November 2019 в 22:31
поделиться
firstDigit = number/((int)(pow(10,(int)log(number))));

Это должно быть ваше первое цифра с использованием математики вместо строк.

В вашем примере log (543) = 2,73, преобразованный в int, равен 2. pow (10, 2) = 100 543/100 = 5,43, но поскольку это целое число, оно обрезается до 5

19
ответ дан 29 November 2019 в 22:31
поделиться

Integer.parseInt принимает строку и возвращает целое число.

0
ответ дан 29 November 2019 в 22:31
поделиться

Почти наверняка более эффективно, чем использование строк:

int firstDigit(int x) {
    while (x > 9) {
        x /= 10;
    }
    return x;
}

(Работает только для неотрицательных целых чисел.)

33
ответ дан 29 November 2019 в 22:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: