2010-05-02 14 views
5

Dies sind die logischen Schritte, die ich mit jquery tun müssen:Jquery Ganzzahl Zeichenfolge und zurück konvertieren

x ist eine 2-stellige Zahl (integer) von einem input.value abgeleitet();

If var x is **not** 33 or 44 
    Convert this 2 digit number to string; 
    split the string in 2 parts as number; 
    Add these 2 values until they reduce to single digit; 
    Return var x value as this value; 
Else 
    Return var x value literally as 33 or 44 whatever is the case; 

Vielen Dank!

+0

Ist nur Javascript auch akzeptabel? – BalusC

+0

sicher, aber ich habe einen Teil vermisst: Addieren Sie diese 2 Werte (bis sie auf einzelne Ziffer reduzieren); Rückgabewert var x als Wert. – Richbyte

Antwort

3
if (x != 33 && x != 44) { 
    while (x > 9) { 
     var parts = ('' + x).split(''); 
     x = parseInt(parts[0]) + parseInt(parts[1]); 
    } 
    return x; 
} else { 
    return x; 
}  

funktioniert nur, wenn der Eingang 2 Ziffern lang wirklich max ist, wie Sie sagen, sonst werden Sie die Zahlen in einer for Schleife über parts.length hinzufügen müssen. Z.B .:

if (x != 33 && x != 44) { 
    while (x > 9) { 
     var parts = ('' + x).split(''); 
     for (var x = 0, i = 0; i < parts.length; i++) { 
      x += parseInt(parts[i]); 
     } 
    } 
    return x; 
} else { 
    return x; 
}  
+0

Danke BalusC, Ich bekomme einen Syntaxfehler in Zeile 8> return x; irgendeine idee warum? – Richbyte

+0

Vielleicht hast du vergessen, es in eine "Funktion" zu setzen? – BalusC

1

Ich würde versuchen:

function process (x) { 
    if ((x != 33) && (x != 44)) { 
     while (x > 9) { 
      x = Math.floor (x/10) + (x % 10); 
     } 
    } 
    return x; 
} 

ich wenig Grund sehen, es in eine Zeichenfolge zu konvertieren, wenn Sie arithmetische Operationen verwenden können.

+0

Sie vergessen nur, die zwei anderen 'Teile' nach der Copypaste umzubenennen :) – BalusC

+0

Danke BalusC, Ich habe Probleme bei der Integration dieses Bits als Teil der Eltern-Jquery-Funktion. Ich würde dies mit jquery valriables tun müssen :(. – Richbyte

+0

Sie sind richtig paxdiablo, ich brauche nicht, schaute auf den besten Weg möglich, danke! – Richbyte

Verwandte Themen