这是我的第一个JS脚本。这是一个货币计算器,我有一个问题。
在用户插入金额,汇率和货币后,代码会生成新货币的值。但是,它给出了这样的回报
8.100000000000001。
我一直在阅读有关Number.toFixed(x)和Number.toPrecision(x)的内容,但我不知道将它们放在我的代码中,或者即使这是最好的方法。
请有人告诉我,代码如下。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Currency Converter</title>
<script>
//Gets Values from TextBox
var number1, exchangeRate, result;
function setValues() {
number1 = Number(document.getElementById("number1").value);
exchangeRate = Number(document.getElementById("exchange-rate").value);
}
//Calculates Values from TextBox
function calculate() {
setValues();
result = number1*exchangeRate;
document.getElementById("answer").innerHTML = result;
}
//Prints the selected currency
function printCurrency() {
var myCurrency = document.getElementById("myCurrency").value;
document.getElementById("print-currency").innerHTML = myCurrency;
}
</script>
</head>
<body>
<table>
<tr>
<td>
Insert Amount <input type="text" id="number1">
</td>
<td>
Exhange Rate <input type="text" id="exchange-rate">
</td>
<td>
Select currency
<select id="myCurrency">
<option value="USD">USD</option>
<option value="GPB">GBP</option>
<option value="EUR">EUR</option>
<option value="VND">VMD</option>
<option value="KHR">KHR</option>
</select>
</td>
<td>
<input type="button" onclick="printCurrency(); calculate()" value="Calculate">
</td>
</tr>
</table>
<p>Your amount is: <span id="print-currency"></span> <span id="answer"</span></p>
</body>
</html>
答案 0 :(得分:2)
将其应用于您的结果。
document.getElementById("answer").innerHTML = result.toFixed(2);
在JS中,您可以将这些功能应用于任何数字。
var a = 8.100000000000001;
console.log(a.toFixed(2));
答案 1 :(得分:0)
修改函数计算为:
function calculate(){
setValues(); result = number1*exchangeRate; document.getElementById("answer").innerHTML = result.toFixed(2);
}