Feedback

Ziffern einer Dezimalzahl extrahieren

Sprache: C#

Extrahiert die einzelnen Ziffern einer Dezimalzahl in ein Array.
public static int[] Extract(int number)
{
    int multipleOfTen = 1;
    int digitCount = 1;
    while (number / multipleOfTen >= 10.0f)
    {
        multipleOfTen *= 10;
        ++digitCount;
    }
    int[] digits = new int[digitCount];
    for (int i = 0; multipleOfTen > 0; ++i, multipleOfTen /= 10)
    {
        digits[i] = (int)(number / multipleOfTen);
        number -= digits[i] * multipleOfTen;
    }

    return digits;
}
public static int[] Extract(int number)
{
    int multipleOfTen = 1;
    int digitCount = 1;
    while (number / multipleOfTen >= 10.0f)
    {
        multipleOfTen *= 10;
        ++digitCount;
    }
    int[] digits = new int[digitCount];
    for (int i = 0; multipleOfTen > 0; ++i, multipleOfTen /= 10)
    {
        digits[i] = (int)(number / multipleOfTen);
        number -= digits[i] * multipleOfTen;
    }

    return digits;
}

1 Kommentar

  1. wäre es so nicht einfacher? Ohne viele Rechnerrei 🙂
    public static int[] Extract(int number)
    {
    string strZahl = number.ToString();

    int[] array = new int[strZahl.Length];

    for (int i = 0; i < strZahl.Length; i++) array[i] = Int32.Parse(strZahl[i].ToString()); return array; }