michi: zahl teilen

erstmal hi an alle

mein problem ist folgendes:

ich hab eine dreistellige zahl und will die zahl in drei einzelnen zahlen haben.

beispiel:

146
   ergebnis: soll sein:
   1, 4, 6

wie bekommt man das hin?
ich hab auch schon eine idee gehabt, aber irgendwas stimmt da nicht.

in einem input-feld steht der wert. die umgewandelte zahl soll dann in einem anderen input-feld stehen.

function zahl_teilen()
{

var arr = document.form.input.value.split();
  document.form.input2.value = arr[0]+","+arr[1]+","+arr[2]

}

ich hoffe es kann mir jemand helfen.

michi

  1. Hallo Michi

    in einem input-feld steht der wert. die umgewandelte zahl soll dann in einem anderen input-feld stehen.

    function zahl_teilen()
    {

    var arr = document.form.input.value.split();

    einfach: document.form.input.value.split("");
    dann klappts

    document.form.input2.value = arr[0]+","+arr[1]+","+arr[2]

    }

    und noch schneller:

    document.form.input2.value = document.form.input.value.split("");

    Das Komma wird automatisch bei der Typumwandlandlung von Array zum String eingefügt.

    Viele Grüße

    Antje

    1. danke für die schnelle anwort.

      ich hab das jetzt nur mit einen input-feld gehandhabt weil ich erst die funktion wissen musste. die wird dann in eine andere seite eingebaut und ich hatte keine lust ca. 2000 zeilen quelltext zu erklaeren. darum hab ich es "leicht" gekuerzt.

      nochmal merci

      michi

  2. Hallo Michi,

    zuerst einmal: Ich verstehe nicht ganz, wieso du die Zahl teilen musst, wenn du sie nur in ein anderes Eingabefeld kopieren willst. Dann kannst du doch auch einfach die ganze Zahl 'rüberschaufeln:

    document.form.input2.value = document.form.input.value;

    Jetzt aber zu der Frage: Ich sehe zwei Möglichkeiten: Erstens kannst du ignorieren, dass es sich um eine Zahl handelt und einfach mit string.charAt(position) auf die einzelnen Zeichen Zugreifen:

    zahl = document.form.input.value;
    ersteZiffer = zahl.charAt(0);
    zweiteZiffer = zahl.charAt(1);
    dritteZiffer = zahl.charAt(2);

    Oder - wenn du dir sicher bist, dass im Eingabefeld eine Zahl und nichts anderes steht - kannst du auch auf die guten alten Regeln zurückgreifen, die dir damals dein Mathelehrer erzählt hat, nämlich wie das Dezimalsystem "funktioniert":

    zahl = parseInt(document.form.input.value);
    ersteZiffer = Math.floor(zahl / 100);
    zweiteZiffer = Math.floor((zahl-100*ersteZiffer)/10);
    dritteZiffer = zahl % 10;

    Oder wie auch immer du dir die einzelnen Ziffern ausrechnen willst.

    Viel Erfolg,
    Robert

    1. Hallo nochmal,

      document.form.input2.value = document.form.input.value;

      War natürlich falsch, ich habe die Kommas (oder heißt es "Kommata"?) zwischen den Ziffern übersehen.

      Robert