Удаление разряда из числа C#
Как удалить из целого числа разряд, заданный номером? Например, дано число 123456. Человек вводит через консоль цифру 3. И получается результат 12356
Ответы (3 шт):
Автор решения: Dzianis Karpuk
→ Ссылка
int number = 123456;
int delete = 3;
var str = number.ToString();
number = int.Parse(str.Remove(str.Length - delete, 1));
Автор решения: Roman Onofreichuk
→ Ссылка
https://docs.microsoft.com/en-us/dotnet/api/system.string.remove?view=netframework-4.8 Метод string.Remove(номер индекса удаляемого символа, кол-во удаляемых символов после индекса)
int prevNum = 123456;
string tmpNum = prevNum.ToString().Remove(int.Parse(Console.ReadLine()), 1);
int aftNum = int.Parse(tmpNum);
Автор решения: MBo
→ Ссылка
Ну в данном случае же ещё проще:
Console.WriteLine("Введите число");
int x = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите позицию");
int s = Convert.ToInt32(Console.ReadLine());
int m = 1;
while (s > 1) {
m *= 10;
s--;
}
int t = (x % m) + (x / (m * 10)) * m;
Console.WriteLine(t);