Im работает в бит проблемы с преобразованием string
в int
, char by char. Когда я перехожу через код, каждый char
в string
преобразуется в его представление ASCII. Так, например, 0
преобразуется в 48
.Проблема с преобразованием строки в int
Что я пытаюсь сделать, это взять 4-значное число, взять каждую цифру и сделать что-то другое.
В качестве примера, если date1
является 0415
, num1
должен быть 0, num2
4, num3
1 и num4
5.
foreach (char c in date1)
{
switch (num)
{
case 1:
// calculate first number
cNum = Convert.ToInt32(c);
num1 = c * 1;
break;
case 2:
// calculate second number
cNum = Convert.ToInt32(c);
num2 = c * 2;
break;
case 3:
// calculate third number
cNum = Convert.ToInt32(c);
num3 = c * 3;
break;
case 4:
// calculate fourth number
cNum = Convert.ToInt32(c);
num4 = c * 4;
break;
default:
break;
}
num++;
}
Любая помощь очень высоко ценится, и если что-нибудь еще нужно, пожалуйста, дайте мне знать.
Почему бы не использовать петлю для петли? – BlackBear
Это странный способ сделать это, но почему в мире вы умножаете результаты на 1, 2, 3 и 4 соответственно? – Jcl
Вероятно, это должно быть 'num1 = cNum * 1;' Вы пытаетесь несколько символов, а не тот, который вы преобразовали в int. Также, если вы увеличиваете число num ++, вы можете удалить оператор switch и сделать что-то вроде 'numarray [num] = cNum * (num + 1)' – lucuma