2010-05-02 4 views
5

Ce sont les étapes logiques qui je dois faire avec jquery:Jquery convertir entier en chaîne et en arrière

x est un nombre à 2 chiffres (entier) dérivé d'un input.value();

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; 

Merci!

+0

Est-ce que Javascript est seulement acceptable? – BalusC

+0

sûr mais j'ai raté une partie: Ajoutez ces 2 valeurs (jusqu'à ce qu'elles se réduisent à un seul chiffre); Renvoie la valeur var x sous la forme de cette valeur. – Richbyte

Répondre

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; 
}  

ne fonctionne que si l'entrée est vraiment max 2 chiffres que vous dites, sinon vous devrez ajouter les numéros dans une boucle for sur parts.length. .: par exemple

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

Merci BalusC, Je reçois une erreur de syntaxe sur la ligne 8> return x; une idée pourquoi? – Richbyte

+0

Peut-être avez-vous oublié de le mettre dans une 'fonction'? – BalusC

1

Je vais essayer:

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

Je vois peu de raisons de le convertir en une chaîne lorsque vous pouvez utiliser des opérations arithmétiques.

+0

Vous oubliez seulement de renommer les deux autres 'parties' après le copypaste :) – BalusC

+0

Merci BalusC, J'ai du mal à intégrer ce bit dans le cadre de la fonction jquery parent. Je voudrais faire cela avec jquery valriables :(. – Richbyte

+0

vous avez raison paxdiablo, je n'ai pas besoin de, regardait de la meilleure façon possible, merci! – Richbyte

Questions connexes