JQuery конвертировать целое число в строку и обратно - PullRequest
5 голосов
/ 02 мая 2010

Вот логические шаги, которые мне нужно сделать с помощью jquery:

x - это двузначное число (целое число), полученное из 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;

Спасибо!

Ответы [ 2 ]

3 голосов
/ 02 мая 2010
if (x != 33 && x != 44) {
    while (x > 9) {
        var parts = ('' + x).split('');
        x = parseInt(parts[0]) + parseInt(parts[1]);
    }
    return x;
} else {
    return x;
}    

Работает только в том случае, если на самом деле длина ввода не более 2 цифр, как вы говорите, иначе вам нужно будет добавить числа в цикле for над parts.length. E.g.:

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;
}    
1 голос
/ 02 мая 2010

Я бы попробовал:

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

Я не вижу смысла преобразовывать ее в строку, когда вы можете использовать арифметические операции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...