Jquery将整数转换为字符串,再将其转换回整数

5
以下是我需要使用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;

谢谢!


仅使用JavaScript是否可行? - BalusC
当然,但我错过了一部分: 将这两个值相加(直到它们减少为单个数字); 将变量x的值作为此值返回。 - Richbyte
2个回答

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

只有当输入的长度确实最多为2个数字时才能起作用,否则您需要在parts.length上使用for循环来加入这些数字。例如:

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

谢谢BalusC, 我在第8行遇到了语法错误> return x;你有什么想法吗? - Richbyte
也许你忘记把它放在一个“函数”中了? - BalusC

1

我会尝试:

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

当您可以使用算术运算时,我认为将其转换为字符串的理由很少。


你只是忘记在复制粘贴后重命名另外两个“部分”了 :) - BalusC
谢谢BalusC, 我在将此部分作为父级jquery函数的一部分进行集成时遇到了麻烦。我需要使用jquery变量来完成这个操作 :(. - Richbyte
你是对的,paxdiablo,我不需要这样做,只是在寻找最好的方式,谢谢! - Richbyte
我感谢你的帮助 BalusC。 - Richbyte
亲爱的pax和Balus,我已经能够理解并在我的jQuery代码中集成这个解决方案了。谢谢! - Richbyte
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接