javascript - 没有 toString() 从十进制到十六进制
问题描述
有人可以帮我解决这个问题吗?从十进制到二进制已经可以工作了,但我无法让它从十进制到十六进制工作。我不允许使用 toString 所以我不知道该怎么做,有人有什么提示吗?那将非常有帮助!我看过其他帖子,但他们在谈论 toString 但不允许使用它,因为当你使用它时它太容易了。
function omzetten() {
var invoer = document.getElementById('omzettenInvoer').value;
var talstelselVan = document.getElementById('omvettenVan').value;
var gewenstgetal = document.getElementById('gewenstgetal').value;
var waarde = 1;
var positie = invoer.length - 1;
var som = 0;
while(positie >= 0) {
var cijfer = invoer.charAt(positie);
var poswaarde;
if(cijfer == "a") {
poswaarde = 10 * waarde
} else if(cijfer == "b") {
poswaarde = 11 * waarde
} else if(cijfer == "c"){
poswaarde = 12 * waarde
} else if(cijfer == "d") {
poswaarde = 13 * waarde
} else if(cijfer == "e") {
poswaarde = 14 * waarde
} else if(cijfer == "f") {
poswaarde = 15 * waarde
} else {
poswaarde = cijfer * waarde;
}
som = som + poswaarde;
positie--;
waarde = waarde * talstelselVan;
var som2 = som * gewenstgetal;
//code for output2 here
document.getElementById('output1').value = som;
//document.getElementById('output2').value = ant2;
}}
/*phone*/
@media screen and (max-width: 600px) {
.topnav a:not(:first-child) {display: none;}
.topnav a.icon {
float: right;
display: block;
}
}
@media screen and (max-width: 600px) {
.topnav.responsive {position: relative;}
.topnav.responsive a.icon {
position: absolute;
right: 0;
top: 0;
}
.topnav.responsive a {
float: none;
display: block;
text-align: left;
}
.topnav {
background-color: #10689A;
overflow: hidden;
}
#calcie {
margin-left: 19.5vw !important;
text-align: center;
background-color: grey;
border: solid grey;
width: 50vw;
border-radius: 2em;
}
input[type="text"] {
width: 40vw !important;
}
header {
display: none;
}
#bobies {
width: 20vw;
position: absolute;
margin-left: 40vw;
}
.topnav a {
float: left;
display: block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-size: 17px;
}
.topnav a:hover {
background-color: #10689A;
color: black;
}
.active {
background-color: #4CAF50;
color: white;
}
.topnav .icon {
display: none;
}
#desktop {
display:none;
}
#home{
margin-left: 2vw;
}
#logo {
margin-top: 20%;
position:absolute;
}
#welkomstekst{
background-color: #10689A;
width: 70vw;
margin-left: 15vw;
text-align: center;
padding: 20px;
margin-top: 10vh;
line-height: 1.9;
border-radius: 2em;
}
#welkomstekst p{
color: white;
font-size: 5vw;
}
#toekomstreferencie{
width: 40vw;
height: 10vh;
margin-left: 28vw;
margin-top: 3vh;
background-color: #10689A;
border-radius: 2em;
margin-bottom: .9em;
}
#toekomstreferencie button{
width: 32vw;
height: 4vh;
margin-left: 4vw;
margin-top: 3vh;
border-radius: 2em;
}
header {
width: 86.5vw;
margin-left: 30%;
}
footer{
margin-top: 10vw;
}
#biggie {
max-width: 2vw;}}
/*Tablet*/
@media screen and (min-width: 601px) {
#phone {
display:none;
}
#Navbar {
background-color: #10689A;
width: 99vw;
height: 120px;
min-width:: 500px;
display: flex;
flex-direction: row;
justify-content: space-between;
}
#Navbar a{
color: white;
font-size: 15px;
margin-top: 30px;
margin-right:10%;}
#Navbar img{
width:5vw;
height: 5vw;
Margin-top: -5px;
}
#calcie {
margin-left: 37.5vw !important;
text-align: center;
background-color: grey;
border: solid grey;
width: 14vw;
border-radius: 2em;
}
input[type="text"] {
width: 10vw !important;
}
#desktop {
display: flex;
flex-wrap: nowrap;}
#home{
margin-left: 2vw;}
#logo {
margin-top: 20%;
position:absolute;
}
#welkomstekst{
background-color: #10689A;
width: 50vw;
margin-left: 25vw;
text-align: center;
padding: 20px;
margin-top: 4vh;
line-height: 1.9;
border-radius: 2em;
}
#welkomstekst p{
color: white;
font-size: 2vw;
}
#toekomstreferencie{
width: 15vw;
height: 10vh;
margin-left: 42vw;
margin-top: 3vh;
background-color: #10689A;
border-radius: 2em;
margin-bottom: .9em;
}
#toekomstreferencie button{
width: 11vw;
height: 4vh;
margin-left: 2.0vw;
margin-top: 3vh;
border-radius: 2em;
}
header {
width: 86.5vw;
margin-left: 30%;
}
footer{
margin-top: 10vw;
}
#biggie {
max-width: 2vw;
}
}
/*Desktop*/
@media screen and (min-width: 1250px) {
#phone {
display:none;
}
#Navbar {
background-color: #10689A;
width: 99vw;
height: 120px;
min-width:: 500px;
display: flex;
flex-direction: row;
justify-content: space-between;
}
#Navbar a{
color: white;
font-size: 15px;
margin-top: 30px;
margin-right:10%;
}
#calcie {
margin-left: 37.5vw !important;
text-align: center;
background-color: grey;
border: solid grey;
width: 13vw;
border-radius: 2em;
}
input[type="text"] {
width: 10vw !important;
}
#Navbar img{
width:5vw;
height: 5vw;
Margin-top: -5px;
}
#desktop {
display: flex;
flex-wrap: nowrap;
}
#home{
margin-left: 2vw;
}
#logo {
margin-top: 20%;
position:absolute;
}
#welkomstekst{
background-color: #10689A;
width: 50vw;
margin-left: 25vw;
text-align: center;
padding: 20px;
margin-top: 4vh;
line-height: 1.9;
border-radius: 2em;
}
#welkomstekst p{
color: white;
}
#toekomstreferencie{
width: 15vw;
height: 10vh;
background-color: #10689A;
border-radius: 2em;
display: grid;
grid-area: grid;
grid-template-columns: auto;
grid-template-areas: 'grid';
margin-bottom: .9em;
}
#toekomstreferencie button{
width: 7vw;
height: 4vh;
margin-left: 3.7vw;
margin-top: 3vh;
font-size: 1.2vw;
border-radius: 2em;
}
header {
width: 46.5vw;
margin-left: 30%;
}
footer{
margin-top: 10vw;
}
#biggie {
max-width: 2vw;
}
#buttie {
min-width: 9vw;
margin-left: 3vw !important;
}
}
/*HD (High defenition)*/
@media screen and (min-width: 1800px) {
#bigmama1 {
width: 20vw;
height: 10vw;
position: absolute;
background-color: #10689A;
margin-left: 19vw;
margin-top: 4vw;
padding-left: 1.3vw;
}
#bigmama2 {
width: 11vw;
height: 10vw;
position: absolute;
background-color: #10689A;
margin-left: 24vw;
margin-top: 20vw;
}
#id1{
margin-left: 22vw;
margin-top: 2vw;
position: absolute;
}
#nassi,
#nabr[type="text"] {
max-width: 2vw;
}
#id2{
position: absolute;
margin-left: 26.5vw;
margin-top: 18vw;
}
#output1 {
margin-top: .5vw;
width: 17.1vw !important;
text-align: center;
height: 7vw;
overflow: auto;
}
#phone {
display:none;
}
#Navbar {
background-color: #10689A;
width: 99vw;
height: 120px;
min-width:: 500px;
display: flex;
flex-direction: row;
justify-content: space-between;
}
#Navbar a{
color: white;
font-size: 15px;
margin-top: 30px;
margin-right:10%;
}
#calcie {
margin-left: 24.5vw !important;
text-align: center;
background-color: grey;
border: solid grey;
width: 9vw;
border-radius: 2em;
}
input[type="text"] {
width: 7vw !important;
}
#Navbar img{
width:5vw;
height: 5vw;
Margin-top: -5px;
}
#desktop {
display: flex;
flex-wrap: nowrap;
}
#home{
margin-left: 2vw;
}
#logo {
margin-top: 20%;
position:absolute;
}
#welkomstekst{
background-color: #10689A;
width: 50vw;
margin-left: 25vw;
text-align: center;
padding: 20px;
margin-top: 4vh;
line-height: 1.9;
border-radius: 2em;
}
#welkomstekst p{
color: white;
}
#toekomstreferencie{
width: 15vw;
height: 8vh;
background-color: #10689A;
border-radius: 2em;
display: grid;
grid-area: grid;
grid-template-columns: auto;
grid-template-areas: 'grid';
margin-bottom: .9em;
}
#toekomstreferencie button{
width: 7vw;
height: 4vh;
margin-left: 3.7vw;
margin-top: 3vh;
font-size: 1.2vw;
border-radius: 2em;
}
header {
width: 46.5vw;
margin-left: 36%;
}
footer{
margin-top: 10vw;
}
#biggie {
max-width: 2vw;
}
#buttie {
min-width: 9vw;
margin-left: 3vw !important;
}
}
#bobie {
width: 3vw !important;
}
.nav-item {
padding-top: 1.4vw;
}
.dropdown {
max-width: 10vw;
float: right;
padding-top: 1.7vw;
}
.Fibo{
background-color: #10689A;
width: 50vw;
margin-left: 5vw;
text-align: center;
padding: 20px;
margin-top: 4vh;
line-height: 1.9;
border-radius: 2em;
}
#dReeksP{
color: white;
}
#dReeksF{
color: white;
}
#output2{
margin-left: 12.9vw;
}
<!DOCTYPE HTML>
<html lang="en">
<head>
<script type="text/javascript" src="js/java.js"></script>
<link href="CSS/style.css" rel="stylesheet" type="text/css">
<meta charset="UTF-8">
<meta name="description" content="Opdracht">
<meta name="keywords" content="Opdract">
<meta name="author" content="Alexander & Ravi">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<header>
<div id="desktop">
<ul class="nav nav-tabs auto-fill">
<li class="nav-item">
<a class="nav-link active" href="index.html"><img id="bobie" src="IMG/calculatorlogo.png"></a>
</li>
<li class="nav-item">
<a class="nav-link active" href="index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="#">Rad van fortuin</a>
<li class="nav-item">
<a class="nav-link active" href="#">Shoot the pig</a>
</li>
</li>
<div class="dropdown">
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Rekenen
<span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="#">Rekenpagina</a></li>
<li><a href="#">Gevorderd rekenpagina</a></li>
<li><a href="#">reeksen</a></li>
<li><a href="#">Omrekenen</a></li>
</ul>
</div>
</ul>
</div>
</header>
<body>
<section id="phone">
<img id="bobies" src="IMG/calculatorlogo.png">
<div class="topnav" id="myTopnav">
<a href="index.html" class="active">Home</a>
<a href="">Rekenpagina</a>
<a href="">Gevordend Rekenpagina</a>
<a href="">Reeksen</a>
<a href="">Omrekenen</a>
<a href="">Rad van fortuin</a>
<a href="">Shoot the pig</a>
<a href="javascript:void(0);" style="font-size:15px;" class="icon" onclick="myFunction()">☰</a>
</div>
</section>
<div id="minis">
<div id="welkomstekst">
<p>Welkom bij <strong>Math-mate m2</strong> hier kan je:<br>
lekker <strong>rekenen met hexa</strong></br>
eigen manier, heb je na het <strong>rekenen</strong></br>
zin in wat ontspanning speel shoot the pig!</p>
</div>
</div>
<div id="toekomstreferencie" ><button id="buttie" onclick="toggle_visibility('minis')" href="#slides" data-toggle="collapse">Hexa's</button></div>
<div class="collapse" id="slides">
<div class="container">
<h3 id="id1">Binair naar hexadecimaal</h3>
<div id="bigmama1">
<form>
<input type="text" value"" id="omzettenInvoer" placeholder="Waarde" value="1010"/>
<input type="number" value"" id="omvettenVan" placeholder="tal" value="2" />
<button type="button" id="arie" value"" name="-->" disabled>--></button>
<input type="text" value"" id="gewenstgetal" placeholder="tal"/>
<button type="button" value="verzenden" onclick="omzetten()">Bereken</button></br>
<input type="text" value"" id="output1" name="input"/>
<input type="text" value"" id="output2" name="input"/>
</form>
</div>
<h3 id="id2">Factorizer</h3>
<div id="bigmama2">
<form>
<input type="text" value"" id="getalie" placeholder="Hier invullen" name="input"/>
<button type="button" value="verzenden" onclick="he()">Bereken</button>
</form>
</div>
</div>
</div>
<footer>
<p> © Ravi Breugom en Alexander wallaard</p>
</footer>
</body>
</html>
解决方案
我已经为您编写了一个解决方案,但在复制和粘贴之前,请阅读如何conversions
工作。
下面的代码适用于之间的任何基础2-36
并且不使用.toString()
;
function dec2base(int, base) {
let letters = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
let returnVal = "";
if (base > 1 && base < 37) {
while (int != 0) {
rest = int % base;
int = Math.floor(int / base);
returnVal = letters[rest] + returnVal;
}
}
return returnVal;
}
console.log(dec2base(255, 16));
推荐阅读
- python - 在python中查找平面图的面
- javascript - 是否可以在具有另一个 js 文件的服务器上执行 node.js?
- c++ - 我可以在 xcode 中的项目文件夹之外有源代码吗?
- java - Spring Boot quartz:jdbc 表总是被初始化
- typescript - 打字稿我想要一个类型,它是一个卑鄙属性中所有类型的联合
- laravel - 如何从数据库显示和图像到 laravel 刀片?
- node.js - 在 express.js 错误处理中间件中发送自定义消息
- oracle - SQL 加载程序显示错误 ORA-12546 TNS:当我尝试针对远程数据库运行它时权限被拒绝
- reactjs - 仅从 firebase 数据库中获取更新的项目
- android - 协程完成后如何返回布尔值?