4 回答

TA貢獻1770條經驗 獲得超3個贊
parseInt() 函數就是問題的過程。每當使用此函數時,它都會通過截斷十進制值將傳遞給它的值轉換為整數。例如parseInt("2.7")
= 2。您可以改用以下內容。
total.value = (parseInt(main.value, 10) * parseInt(joint1.value, 10)) + (parseInt(joint3.value, 10)) + (parseInt(main.value, 10) * ((parseFloat(joint2.value, 10) / 100)));

TA貢獻1853條經驗 獲得超6個贊
對于十進制數,您必須使用.parseFloat()
函數,而不是.pareseInt()
// Do all your JavaScript in a separate JavaScript section
var main = document.getElementById("Dep-main");
var joint1 = document.getElementById("Dep-joint1");
var joint2 = document.getElementById("Dep-joint2");
var joint3 = document.getElementById("Dep-joint3");
var total = document.getElementById("Total-dep");
var inputs = Array.prototype.slice.call(document.querySelectorAll("div > input"));
inputs.forEach(function(input){
? input.addEventListener("blur", function(){
? ? // Always supply the second argument to parseInt() (the radix) so you
? ? // dont' get non-base 10 answers.
? ? total.value = (parseFloat(main.value) * parseFloat(joint1.value)) + (parseFloat(joint3.value)) + (parseFloat(main.value) * ((parseFloat(joint2.value) / 100)));
? });
});
label {
? ? display: block;
? ? text-align: center;
? ? line-height: 150%;
? ? font-size: .85em;
}
input[type=text], select {
? width: 100%;
? padding: 12px 20px;
? margin: 8px 0;
? display: inline-block;
? border: 1px solid #ccc;
? border-radius: 4px;
? box-sizing: border-box;
? text-align: center;
}
input[type=submit] {
? width: 100%;
? background-color: #4CAF50;
? color: white;
? padding: 14px 20px;
? margin: 8px 0;
? border: none;
? border-radius: 4px;
? cursor: pointer;
}
input[type=submit]:hover {
? background-color: #45a049;
}
div {
? border-radius: 5px;
? background-color: #f2f2f2;
? padding: 20px;
}
.center {
? margin: auto;
? width: 60%;
? border: 3px solid #73AD21;
? padding: 10px;
}
<!DOCTYPE html>
<html>
<body>
<br>
<center><img src="https://logos-download.com/wp-content/uploads/2016/03/Asos_logo.png" width="270" height="108"></center>
<br>
<center><h3>Best Payment Option Evaluator</h3></center>
<br>
<div class="center">
? ? <label for="dep-nothing">Enter ASOS total amount in SAR [using ASOS Site Exchange Rate]</label>
? ? <input type="text" id="dep-nothing" value="0">
? ? <hr>
? ? <label for="dep-main">Ebter total amount in USD</label>
? ? <input type="text" id="Dep-main" value="0">
? ? <label for="dep-joint1">Enter todays exchange rate from your bank [1 USD = X SAR]</label>
? ? <input type="text" id="Dep-joint1" value="0">
? ? <label for="dep-joint2">Enter bank fees in numbers [will be converted into percentage]</label>
? ? <input type="text" id="Dep-joint2" value="0">
? ? <label for="dep-joint3">Enter buyer commission value in SAR</label>
? ? <input type="text" id="Dep-joint3" value="0">
? ??
? ? <label for="total-dep"><b>If you proceed with USD, below amount will be deducted from your bank accoutn in SAR , <mark>Approx.</mark></b></label>
? ? <input type="text" id="Total-dep"? disabled readonly>
??
</div>
<br>
?
</body>
</html>
- 4 回答
- 0 關注
- 153 瀏覽
添加回答
舉報