在JavaScript中为要在等式中使用的字母赋值
我正在用JavaScript编写一个应用程序,处理一系列简单的方程式。它主要是涉及从0到10的数字的加法,但字母X也需要可用:与数字10一样计数。这是我的一部分:在JavaScript中为要在等式中使用的字母赋值,javascript,Javascript,我正在用JavaScript编写一个应用程序,处理一系列简单的方程式。它主要是涉及从0到10的数字的加法,但字母X也需要可用:与数字10一样计数。这是我的一部分: <script type="text/javascript"> function updateround() { document.form.round01.value = (document.form.arrow01.value -0) + (document.form.arrow02.value
<script type="text/javascript">
function updateround() {
document.form.round01.value = (document.form.arrow01.value -0) + (document.form.arrow02.value -0) + (document.form.arrow03.value -0);
}
</script>
<body>
<center>
<form name="form">
<table>
<tr>
<td><input name="arrow01" style="width: 30px;" onChange="updateround()"></td>
<td><input name="arrow02" style="width: 30px;" onChange="updateround()"></td>
<td><input name="arrow03" style="width: 30px;" onChange="updateround()"></td>
<td><input name="round01" style="width: 30px;"></td>
</tr>
</table>
</form>
</center>
</body>
函数updateround(){
document.form.round01.value=(document.form.arrow01.value-0)+(document.form.arrow02.value-0)+(document.form.arrow03.value-0);
}
如果你运行这个程序,你会得到4个输入字段:如果你在前三个字段中写下数字,然后单击其他地方,它们就会在第四个字段中相加
我要寻找的是如何使它,如果你输入字母X到前三个字段中的一个,应用程序将其用作等式中的10。例如,如果在前三个字段中输入X、9和9,则在第四个字段中得到28,如果输入X、X和6,则得到26,依此类推。另外,我应该将此代码放在应用程序的何处
可能需要提前感谢。如果您想使用base 11系统,可以使用基数为11的
parseInt
。只有它需要a
/a
而不是X
,因此您需要在执行以下操作之前使用替换:
parseInt(document.form.arrow01.value.replace(/x/gi, "a"), 11)
如果还想使用基数11进行输出,可以使用toString
并再次替换:
result.toString(11).replace(/a/gi, "X");
这里要添加一个小的额外函数:
function val_or_x_from_object(obj) {
if (obj.value == "x" || obj.value == "X") {
return 10;
}
else {
val = parseFloat(obj.value);
return (isNaN(val)? 0 : val);
}
}
function updateround() {
document.form.round01.value = val_or_x_from_object(document.form.arrow01) +
val_or_x_from_object(document.form.arrow02) +
val_or_x_from_object(document.form.arrow03);
}