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;
}
Alte URL:
/snippet/ziffern-einer-dezimalzahl-extrahieren/1082
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; }