Более простой способ получить числовое значение из целого числа

Мне нужно разбить трехзначное число, чтобы получить значение каждой цифры. Я знаю, как получить значения первой и последней цифр, используя следующее:

var myInt: Int = 248

print(myInt/100) // first number equals 2
print(myInt%10) // last number equals 8

И я также знаю, как получить значение средней цифры, используя приведенное ниже:

print((myInt - myInt/100*100 - myInt%10)/10) // middle number equals 4

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

Кто-нибудь знает более простой вариант получения значения средней цифры, чем то, что я сейчас использую?


person Jarron    schedule 08.10.2015    source источник
comment
Вы также можете создать массив со всеми десятичными цифрами, сравните Разбить число на массив отдельных цифр для различных решений.   -  person Martin R    schedule 08.10.2015


Ответы (1)


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

print((myInt/10)%10)

Деление на 10 сдвигает числа на одну цифру вниз. Затем мод 10 получает последнюю из сдвинутых цифр.

Я оставлю обобщение результата, чтобы получить n-ю цифру для вас, но вот важные детали:

% 10 ---> Last digit of a number.
/ 10 ---> Shifts the digits to the right by 1 place (248 -> 24)
person Dair    schedule 08.10.2015
comment
О, конечно, спасибо. Это намного проще. Я отмечу ваш ответ как правильный, когда это позволит мне. - person Jarron; 08.10.2015