получить целую цифру в простой форме - PullRequest
3 голосов
/ 23 января 2012

Я не уверен в своем английском, но мне нужно получить единичную цифру целого числа.БЕЗ сложного алгоритма, но с некоторым API или другим трюком.

например:

int a= 53;
int b=76;

это я добавляю, потому что я почти всегда не "отвечаю стандартам качества", чтобы публиковать!это сводит меня с ума!пожалуйста, исправьте это!Мне понадобилось 10 снимков, чтобы опубликовать это, а также другую проблему.

Мне нужно получить a=3 и b=6 простым умным способом.

То же самое с другой цифрой.

спасибо большое.

Ответы [ 5 ]

9 голосов
/ 23 января 2012

вот как разделить число на части

int unitDigit = a % 10; //is 3
int tens= (a - unitDigit)/10; //is 53-3=50 /10 =5
1 голос
/ 27 марта 2015

ПРЕДУПРЕЖДЕНИЕ

Здесь описано, как разделить число на части

int unitDigit = a % 10; //is 3
int tens= (a - unitDigit)/10; //is 53-3=50 /10 =5

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

Кажется, самый простой ответ (но не очень хороший по производительности):

int a = ...;
int digit = [[[NSString stringWithFormat:@"%d", a] substringToIndex:1] intValue]; //or use substringWithRange to get ANY digit
1 голос
/ 23 января 2012

Вы ищете% оператора.

a=a%10;//divides 'a' by 10, assigns remainder to 'a'
0 голосов
/ 16 февраля 2015

Следующий код «получает» цифры данного числа и подсчитывает, сколько из них делит число точно.

int findDigits(long long N){
    int count = 0;
    long long newN = N;

    while(newN) // kinda like a right shift
    {
        int div = newN % 10;
        if (div != 0)
             if (N % div == 0) count++;
        newN = newN / 10;
    }
    return count;
}
0 голосов
/ 23 января 2012

Оператор по модулю поможет вам (так как цифра единиц - это напоминание, когда число делится на 10):

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