问题描述
我正在尝试用JavaScript制作计算器,但无法正常工作。当我尝试执行操作时,说1 +1会给我11,这对于所有数字都是一样的,这是我的代码:
var slider1 = document.getElementById("myRange1");
var slider2 = document.getElementById("myRange2");
var output = document.getElementById("output");
var fullEquat = document.getElementById("equation");
var add1 = slider1.value;
var add2 = slider2.value;
output.innerHTML = slider1.value; // display the default slider value
// Update the current slider value (each time you drag the slider handle)
slider1.oninput = function() {
output.innerHTML = this.value;
}
slider2.oninput = function() {
add1 = slider1.value;
add2 = slider2.value;
equals = add1 + add2;
fullEquat.innerHTML = slider1.value + "+" + slider2.value + "=" + equals;
}
slider1.oninput = function() {
add1 = slider1.value;
add2 = slider2.value;
equals = add1 + add2;
fullEquat.innerHTML = slider1.value + "+" + slider2.value + "=" + equals;
}
.slider {
width: 400px;
display: inline;
}
.equal {
text-align: center;
font-size: 100pt;
margin: 0 0 0 0;
}
<div class="slidecontainer">
<input type="range" min="0" max="1000" value="500" class="slider" id="myRange1">
+
<input type="range" min="0" max="1000" value="500" class="slider" id="myRange2">
</div>
<p class="equal">=</p>
<p id="output" class="output"></p>
<p id="equation" class="equat"> + = </p>
解决方法
当您声明model_gbm <- train(mod,data = df,method = "gbm",distribution="bernoulli",metric = "ROC",bag.fraction=0.75,trControl = fitCtrl_2)
model_gbm
Stochastic Gradient Boosting
100 samples
15 predictor
2 classes: 'a','b'
No pre-processing
Resampling: Cross-Validated (10 fold)
Summary of sample sizes: 90,91,90,89,...
Resampling results across tuning parameters:
interaction.depth n.trees ROC Sens Spec
1 50 0.6338333 0.7233333 0.500
1 100 0.6093333 0.6533333 0.510
1 150 0.6193333 0.6500000 0.555
2 50 0.6445000 0.6900000 0.545
2 100 0.6138333 0.6166667 0.620
2 150 0.6085000 0.6700000 0.555
3 50 0.5770000 0.6466667 0.555
3 100 0.5756667 0.6066667 0.530
3 150 0.5808333 0.6300000 0.530
时,您得到的是字符串而不是数字...您应该将它们放在这样的Number()中
add1 = slider1.value; add2 = slider2.value;
,
Value属性返回一个字符串,您可以使用简单的技巧将其乘以1,如add1 =滑块。值* 1.它会给你一个数字
, .value
属性返回字符串
您必须使用.valueAsNumber
来获取数字
示例代码:
const calcForm = document.forms['form-calculation'],pOutput = document.getElementById('p-output')
;
calcForm.oninput=_=>
{
calcForm['range-1'].nextElementSibling.textContent = calcForm['range-1'].value
calcForm['range-2'].nextElementSibling.textContent = calcForm['range-2'].value
pOutput.textContent = calcForm['range-1'].valueAsNumber
+ calcForm['range-2'].valueAsNumber
}
form { width: 20em; }
input[type="range"] {width: 80%; }
label { font-size:2em; font-weight: bold; text-align: center; display: block; width: 80%;}
<form name="form-calculation">
<input type="range" min="0" max="1000" value="500" name="range-1"><span>500</span>
<label>+</label>
<input type="range" min="0" max="1000" value="500" name="range-2"><span>500</span>
<label>=</label>
</form>
<p id="p-output" class="output">1000</p>