【发布时间】:2015-07-29 02:54:59
【问题描述】:
javascript 应该将输入转换为 base2 并将其显示在输出中。我很困惑为什么输出“o”与输入“num”完全相同。 我不明白为什么这行不通。我知道数据被正确传递,因为如果我在函数中输入简单的数学,那么输出就很好。但是,当我尝试进行转换时,它不起作用。
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<title>Base Converter</title>
<meta charset = "utf-8">
<script>
function Dec2Bin(val)
{
var num = val;
var n = num.toString(2);
convert.o.value = n;
}
</script>
</head>
<body>
<center>
<div class="banner"> <!--banner area-->
Convert from base 10 to base 2
</div>
<div class="body"> <!--function area-->
Please choose a number between 1 and 1,024
<form name="convert" class="alignment">
<input type="number" name="num">
<input type="button" value="Convert" onclick="Dec2Bin(num.value)">
<output name="o"></output>
</form>
</div>
</body>
【问题讨论】:
-
int永远不会改变,所以这将是一个无限循环。也可以change bases usingparseInt() and toString()。 -
function ConvertToB2(int) {return int.toString(2)} -
@SpencerWieczorek ,我使用了 toString() ,而不是输出显示不同基数的数字,它显示的数字与输入的数字相同。我编辑了上面的代码.有什么想法吗?
-
@NathanThompson 是的,因为
val的值是一个字符串,所以num是一个字符串。.toString(2)需要在一个数字上完成,因此您只需将其转换为一个。我已将其添加为答案。
标签: javascript html