2016-11-13 2 views
1

Скажите у вас есть несколько ...Работа с цифрами в количестве в Swift 3

var number = 643 

и вы хотите сделать некоторые математику на него.

Например, вы хотите взять последние две цифры (43) и посмотреть, не осталось ли целых чисел для последних двух цифр минус последняя цифра.

Например:

var remainder = 40 % 5 //'5' is the random integer, and 40 is the last two digits(43) minus the last digit(3) 

Это было бы довольно тривиально в VBScript, но как-то будучи новичком в Swift 3 я не могу это сделать на детской площадке.

Если я

var number = 643 
var str = (String)number 
let lastChar = str.characters.last 
var digit = 0 
digit = Int(lastChar) 

Последняя строка выдает предупреждение не может ссылаться на инициализатор для типа «Int» со списком аргументов типа «(String.CharacterView._Element?)»

enter image description here

Может кто-нибудь, пожалуйста, помогите мне? я не смог найти ответ, используя Google более чем за 30 минут, и обычно я хорошо в более короткие сроки ...

Спасибо любезно

+0

lastChar пытается что-то сделать для var str. Но var str - это строка, а не int. –

+2

'(String) номер' не скомпилируется. Почему не '643% 100', чтобы получить' 43'? – vadian

+0

@vadian Почему бы и нет! Какое изящное решение. Теперь мне нужно будет узнать, как получить число цифр в числе, и я должен быть хорошим. – SuperWoman

ответ

0

Я думаю, что это легче сделать только с целочисленным манипуляции :

let number = 643 

let last2Digits = number % 100 // 43 
let lastDigit = number % 10 // 3 

let result = last2Digits - lastDigit //40