2010-05-02 17 views
5

Estos son los pasos lógicos que tengo que hacer con jquery:Jquery Convertir número entero de cadena y de vuelta

x es un número de 2 dígitos (integer) derivado de 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; 

¡Gracias!

+0

¿Es sólo Javascript también acepta? – BalusC

+0

seguro, pero olvidé una parte: Agregue estos 2 valores (hasta que se reduzcan a un solo dígito); Devuelve el valor var x como este valor. – Richbyte

Respuesta

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

sólo funciona si la entrada es realmente un máximo de 2 dígitos de largo como usted dice, de lo contrario tendrá que añadir los números en un bucle for sobre parts.length. Ej .:

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

Gracias BalusC, Recibo un error de sintaxis en la línea 8> return x; alguna idea ¿por qué? – Richbyte

+0

¿Quizás olvidó ponerlo en una 'función'? – BalusC

1

que iba a tratar:

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

veo pocas razones para convertirlo en una cadena cuando se puede usar operaciones aritméticas.

+0

Solo te olvidas de cambiar el nombre de las otras dos "partes" después de copiar pasta :) – BalusC

+0

Gracias BalusC, Tengo problemas para integrar este bit como parte de la función padre jquery. Necesitaría hacer esto con jquery valriables :(. – Richbyte

+0

tienes razón paxdiablo, no necesito, estaba buscando la mejor manera posible, gracias! – Richbyte

Cuestiones relacionadas