Feedback

C# - Ganze Zahl Invertieren (Umdrehen)

Veröffentlicht von am 11/13/2012
(0 Bewertungen)
Da es mit sicherheit noch eine kürzere version gibt, freue ich mich über jegliche kommentare ;)
Hier mal die Version über string und Array,..
public static int ZahlInvertieren(int zahl)
        {
            string zahlzerlegen = Convert.ToString(zahl);
            int[] zahlArray = new int[zahlzerlegen.Length];
            string zahlInvertiertString = null;

            for (int i = 0; i < zahlzerlegen.Length; i++)
            {
                zahlArray[i] = (Convert.ToInt32(zahlzerlegen[i]) - 48);
            }
            Array.Reverse(zahlArray);
            for (int i = 0; i < zahlzerlegen.Length; i++)
            {
                zahlInvertiertString += Convert.ToString(zahlArray[i]);
            }
            int zahlInvertiert = Convert.ToInt32(zahlInvertiertString);
            return (zahlInvertiert);
        }
Abgelegt unter Invertieren, zahl invertieren.

3 Kommentare zum Snippet

bestel schrieb am 11/13/2012:
Hm, am Ende wird sowas sicher immer über Strings und Arrays laufen, wie auch sonst.
Kürzere Schreibweise geht z. B. mit ein wenig "Linq-Magic": ;)
public static int ZahlInvertieren2(int zahl)
{
return int.Parse(zahl.ToString().Reverse().Aggregate(new StringBuilder(), (sb, c) => sb.Append(c)).ToString());
}
Roman Wagner schrieb am 11/14/2012:

public static int ZahlInvertieren2(int zahl)
{
return int.Parse(string.Join(string.Empty, zahl.ToString().Reverse()))
}
Maik Noczensky schrieb am 11/15/2012:
Es geht auch ganz ohne String und sogar für negative Zahlen.


public static int ZahlInvertieren2(int zahl)
{
int returnValue = 0;
while (zahl != 0)
{
returnValue *= 10;
returnValue += zahl % 10;
zahl /= 10;
}
return returnValue;
}
 

Logge dich ein, um hier zu kommentieren!