我需要从用户那里获得输入并将每个数字替换为(该数字的总和 加7)模数10;但是,我的公式计算不正确。你会帮我调试吗? 谢谢
<script type="text/javascript">
var input = window.prompt("Enter Four-digit numbers:","0000");
var digits = input.split("");
var digit1=digits[0];
var digit2=digits[1];
var digit3=digits[2];
var digit4=digits[3];
digit1=((digit1+7) % 10);
digit2=((digit2+7) % 10);
digit3=((digit3+7) % 10);
digit4=((digit4+7) % 10);
document.writeln(digit1+"<br/>"+digit2+ "<br/>"+digit3+ "<br/>"+digit4);
</script>
答案 0 :(得分:3)
split
函数返回一个字符串数组。你不能对字符串进行加法和取模数等算术运算,因此你需要将它们转换为数字:
var digit1 = parseInt(digits[0], 10);
var digit2 = parseInt(digits[1], 10);
var digit3 = parseInt(digits[2], 10);
var digit4 = parseInt(digits[3], 10);
答案 1 :(得分:1)
digit1=((+digit1+7) % 10);
digit2=((+digit2+7) % 10);
digit3=((+digit3+7) % 10);
digit4=((+digit4+7) % 10);
javascript: plus symbol before variable
var a = "1";
var b = a; // b = "1": a string
var c = +a; // c = 1: a number
var d = -a; // d = -1: a number