gpt4 book ai didi

javascript - 计算两位小数 | JavaScript 计算器

转载 作者:行者123 更新时间:2023-12-01 16:16:17 25 4
gpt4 key购买 nike

我正在用 javascript 制作一个计算器,但在执行带有两位小数的运算时我遇到了一个小问题。问题是我不能在另一个十进制数之后插入另一个十进制数:

image1

我想在数学运算符号之后添加另一个十进制数,如下所示:

image2

1 :这是我的代码:

function calcular(tipo, valor) {

//. TIPOS

//. TIPO AÇÃO
if (tipo === 'acao') {

//; AÇÃO DE VALOR C (LIMPAR O VISOR)
if (valor === 'c') {
document.getElementById('resultado').value = ''
}

//; AÇÕES DE VALOR + | - | * | / CONTATENAR
if (valor === '+' || valor === '-' || valor === '*' || valor === '/') {
document.getElementById('resultado').value += valor
}


if (valor === '=') {
var valorCampo = eval(document.getElementById('resultado').value)
document.getElementById('resultado').value = valorCampo
}



if (valor === '.') {
var conteudo = document.getElementById('resultado').value
conteudo.includes('.') ? document.getElementById('resultado').value : document.getElementById('resultado').value += valor

}



if (valor === '\b') {
document.getElementById('resultado').value = document.getElementById('resultado').value.substring(0, document.getElementById('resultado').value.length - 1)



}








//. TIPO VALOR
} else if (tipo === 'valor') {
//; CONTATENAÇÃO DOS VALORES
document.getElementById('resultado').value += valor

}




}
.calculadora {
margin-top: 40px;
border: solid 1px #000;
padding: 20px;
background-color: #2E2E2E;
border-radius: 10px;
box-shadow: 1px 1px 5px #000;
}

.btn {
width: 60px;
height: 50px;
margin: 5px;
box-shadow: 1px 1px 1px #000;
}

.clear {
width: 60px;
}

.enter {
height: 110px;
}

.zero {
width: 130px;
}

.resultado {
text-align: right;
font-size: 20px;
margin-top: 10px;
margin-bottom: 20px;
border: solid 1px #000;
box-shadow: 1px 1px 1px #000;
}
<html>

<head>
<title>Calculadora</title>

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">

<script src="https://kit.fontawesome.com/0c183dd402.js" crossorigin="anonymous"></script>



</head>

<body style="background: #D9D9D9">

<div class="container">
<div class="row">
<div class="col d-flex justify-content-center">
<br />

<div class="calculadora">
<input id="resultado" type="text" class="form-control resultado" placeholder="0" disabled="disabled" />

<div class="row">

<button onclick="calcular('acao', '*')" type="button" class="btn btn-dark btn-lg font-weight-light">x</button>
<button onclick="calcular('acao', '/')" type="button" class="btn btn-dark btn-lg font-weight-light">/</button>
<button onclick="calcular('acao', 'c')" type="button" class="btn btn-dark btn-lg clear font-weight-light">C</button>
<button onclick="calcular('acao', '\b')" type="button" class="btn btn-dark btn-lg font-weight-light"><i class="fas fa-backspace"></i></button>

</div>

<div class="row">
<button onclick="calcular('valor', 7)" type="button" class="btn btn-dark btn-lg font-weight-light">7</button>
<button onclick="calcular('valor', 8)" type="button" class="btn btn-dark btn-lg font-weight-light">8</button>
<button onclick="calcular('valor', 9)" type="button" class="btn btn-dark btn-lg font-weight-light">9</button>
<button onclick="calcular('acao', '-')" type="button" class="btn btn-dark btn-lg font-weight-light">-</button>
</div>

<div class="row">
<button onclick="calcular('valor', 4)" type="button" class="btn btn-dark btn-lg font-weight-light">4</button>
<button onclick="calcular('valor', 5)" type="button" class="btn btn-dark btn-lg font-weight-light">5</button>
<button onclick="calcular('valor', 6)" type="button" class="btn btn-dark btn-lg font-weight-light">6</button>
<button onclick="calcular('acao', '+')" type="button" class="btn btn-dark btn-lg font-weight-light">+</button>
</div>

<div class="row">
<button onclick="calcular('valor', 1)" type="button" class="btn btn-dark btn-lg font-weight-light">1</button>
<button onclick="calcular('valor', 2)" type="button" class="btn btn-dark btn-lg font-weight-light">2</button>
<button onclick="calcular('valor', 3)" type="button" class="btn btn-dark btn-lg font-weight-light">3</button>
<button onclick="calcular('acao', '=')" type="button" class="btn btn-dark btn-lg enter">=</button>
</div>

<div class="row" style="margin-top: -60px">
<button onclick="calcular('valor', 0)" type="button" class="btn btn-dark zero btn-lg font-weight-light">0</button>
<button onclick="calcular('acao', '.')" type="button" class="btn btn-dark btn-lg font-weight-light">.</button>
</div>

</div>
</div>
</div>
</div>


</body>

</html>

最佳答案

改变这个:

<button onclick="calcular('acao', '.')" type="button" class="btn btn-dark btn-lg font-weight-light">.</button>

对此:

<button onclick="calcular('valor', '.')" type="button" class="btn btn-dark btn-lg font-weight-light">.</button>

所有更改的是 'acao''valor'

function calcular(tipo, valor) {

//. TIPOS

//. TIPO AÇÃO
if (tipo === 'acao') {

//; AÇÃO DE VALOR C (LIMPAR O VISOR)
if (valor === 'c') {
document.getElementById('resultado').value = ''
}

//; AÇÕES DE VALOR + | - | * | / CONTATENAR
if (valor === '+' || valor === '-' || valor === '*' || valor === '/') {
document.getElementById('resultado').value += valor
}


if (valor === '=') {
var valorCampo = eval(document.getElementById('resultado').value)
document.getElementById('resultado').value = valorCampo
}



if (valor === '.') {
var conteudo = document.getElementById('resultado').value
conteudo.includes('.') ? document.getElementById('resultado').value : document.getElementById('resultado').value += valor

}



if (valor === '\b') {
document.getElementById('resultado').value = document.getElementById('resultado').value.substring(0, document.getElementById('resultado').value.length - 1)



}








//. TIPO VALOR
} else if (tipo === 'valor') {
//; CONTATENAÇÃO DOS VALORES
document.getElementById('resultado').value += valor

}




}
.calculadora {
margin-top: 40px;
border: solid 1px #000;
padding: 20px;
background-color: #2E2E2E;
border-radius: 10px;
box-shadow: 1px 1px 5px #000;
}

.btn {
width: 60px;
height: 50px;
margin: 5px;
box-shadow: 1px 1px 1px #000;
}

.clear {
width: 60px;
}

.enter {
height: 110px;
}

.zero {
width: 130px;
}

.resultado {
text-align: right;
font-size: 20px;
margin-top: 10px;
margin-bottom: 20px;
border: solid 1px #000;
box-shadow: 1px 1px 1px #000;
}
<html>

<head>
<title>Calculadora</title>

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous">

<script src="https://kit.fontawesome.com/0c183dd402.js" crossorigin="anonymous"></script>



</head>

<body style="background: #D9D9D9">

<div class="container">
<div class="row">
<div class="col d-flex justify-content-center">
<br />

<div class="calculadora">
<input id="resultado" type="text" class="form-control resultado" placeholder="0" disabled="disabled" />

<div class="row">

<button onclick="calcular('acao', '*')" type="button" class="btn btn-dark btn-lg font-weight-light">x</button>
<button onclick="calcular('acao', '/')" type="button" class="btn btn-dark btn-lg font-weight-light">/</button>
<button onclick="calcular('acao', 'c')" type="button" class="btn btn-dark btn-lg clear font-weight-light">C</button>
<button onclick="calcular('acao', '\b')" type="button" class="btn btn-dark btn-lg font-weight-light"><i class="fas fa-backspace"></i></button>

</div>

<div class="row">
<button onclick="calcular('valor', 7)" type="button" class="btn btn-dark btn-lg font-weight-light">7</button>
<button onclick="calcular('valor', 8)" type="button" class="btn btn-dark btn-lg font-weight-light">8</button>
<button onclick="calcular('valor', 9)" type="button" class="btn btn-dark btn-lg font-weight-light">9</button>
<button onclick="calcular('acao', '-')" type="button" class="btn btn-dark btn-lg font-weight-light">-</button>
</div>

<div class="row">
<button onclick="calcular('valor', 4)" type="button" class="btn btn-dark btn-lg font-weight-light">4</button>
<button onclick="calcular('valor', 5)" type="button" class="btn btn-dark btn-lg font-weight-light">5</button>
<button onclick="calcular('valor', 6)" type="button" class="btn btn-dark btn-lg font-weight-light">6</button>
<button onclick="calcular('acao', '+')" type="button" class="btn btn-dark btn-lg font-weight-light">+</button>
</div>

<div class="row">
<button onclick="calcular('valor', 1)" type="button" class="btn btn-dark btn-lg font-weight-light">1</button>
<button onclick="calcular('valor', 2)" type="button" class="btn btn-dark btn-lg font-weight-light">2</button>
<button onclick="calcular('valor', 3)" type="button" class="btn btn-dark btn-lg font-weight-light">3</button>
<button onclick="calcular('acao', '=')" type="button" class="btn btn-dark btn-lg enter">=</button>
</div>

<div class="row" style="margin-top: -60px">
<button onclick="calcular('valor', 0)" type="button" class="btn btn-dark zero btn-lg font-weight-light">0</button>
<button onclick="calcular('valor', '.')" type="button" class="btn btn-dark btn-lg font-weight-light">.</button>
</div>

</div>
</div>
</div>
</div>


</body>

</html>

关于javascript - 计算两位小数 | JavaScript 计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63800182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com