Rahsan Goksu
Rahsan Goksu

Reputation: 29

How to swap numbers of four digits numbers using c#?

I want to swap numbers of four digits number that enter users. And I wrote that codes

 private void btnSwap_Click(object sender, EventArgs e)
    {
        int number, digit1, digit2, digit3, digit4;
        number = Convert.ToInt32(txtNumber.Text);
        digit1 = number % 10;
        digit2 = (number / 10) % 10;
        digit3 = (number / 100) % 10;
        digit4 = (number / 1000) % 10;
        digit4 = digit1;
        digit1 = digit3;
        digit3 = digit2;
        digit2 = digit1;
        lbReserved.Text = number.ToString();

    }

But that codes return same number ? How to do it?

Upvotes: 0

Views: 1213

Answers (2)

Tim Schmelter
Tim Schmelter

Reputation: 460068

Theay are already reversed due to your maths, no need to swap the variables. So you just need to create a new int if you want:

int reversedNumber = int.Parse(string.Concat(digit1, digit2, digit3, digit4));

If you want an even more concise version without maths:

 int reversedNumber = int.Parse(string.Concat(txtNumber.Text.TrimStart('0').Reverse()));

Upvotes: 1

Gorkem
Gorkem

Reputation: 1

You can do it swapping chars of string recursively.

Here's the example.

private void btnSwap_Click(object sender, EventArgs e)
{
     string number = txtNumber.Text;
     lbReserved.Text = reverseString(number);
}

private string reverseString(string str)
{
     string result = "";
     if (str.length() == 1)
     {
         result = str;
     }
     else
     {
         result += str.charAt(str.length() - 1) + reverseString(str.substring(0, str.length() - 1));
     }
     return result;
}

Upvotes: 0

Related Questions