带Js的货币转换器
Currency Converter with Js
因此,我想使用Js创建一个简单的货币转换器,我想通过创建5种可用硬币(美元、欧元、GPB、澳元和日元)的列表来实现,用户必须从第一个列表中选择他想要转换的硬币,在第二个列表中,他必须选择他想要的硬币货币。以下是我迄今为止所做的:
function calculate() {
var amount = parseFloat(document.getElementById("amount").value);
var select = document.getElementById("select");
var select1 = document.getElementById("select1");
var result = document.getElementById("result");
if (select.value === "USD") && (select1.value === "USD") {
result.value = (amount * 1);
}
if (select.value === "USD") && (select1.value === "EUR") {
result.value = (amount * 0.88);
}
if (select.value === "USD") && (select1.value === "AUD") {
result.value = (amount * 1.37);
}
if (select.value === "USD") && (select1.value === "GBP") {
result.value = (amount * 0.69);
}
if (select.value === "USD") && (select1.value === "JPY") {
result.value = (amount * 108.96);
}
if (select.value === "EUR") && (select1.value === "EUR") {
result.value = (amount * 1);
}
if (select.value === "EUR") && (select1.value === "USD") {
result.value = (amount * 1.13);
}
if (select.value === "EUR") && (select1.value === "AUD") {
result.value = (amount * 1.55);
}
if (select.value === "EUR") && (select1.value === "GBP") {
result.value = (amount * 0.79);
}
if (select.value === "EUR") && (select1.value === "JPY") {
result.value = (amount * 123.47);
}
if (select.value === "EUR") && (select1.value === "EUR") {
result.value = (amount * 1);
}
if (select.value === "EUR") && (select1.value === "USD") {
result.value = (amount * 1.13);
}
if (select.value === "EUR") && (select1.value === "AUD") {
result.value = (amount * 1.55);
}
if (select.value === "EUR") && (select1.value === "GBP") {
result.value = (amount * 0.79);
}
if (select.value === "EUR") && (select1.value === "JPY") {
result.value = (amount * 123.47);
}
if (select.value === "GPB") && (select1.value === "EUR") {
result.value = (amount * 1.27);
}
if (select.value === "GPB") && (select1.value === "USD") {
result.value = (amount * 1.44);
}
if (select.value === "GPB") && (select1.value === "AUD") {
result.value = (amount * 1.98);
}
if (select.value === "GPB") && (select1.value === "GBP") {
result.value = (amount * 1);
}
if (select.value === "GPB") && (select1.value === "JPY") {
result.value = (amount * 157.08);
}
if (select.value === "AUD") && (select1.value === "EUR") {
result.value = (amount * 0.64);
}
if (select.value === "AUD") && (select1.value === "USD") {
result.value = (amount * 0.73);
}
if (select.value === "AUD") && (select1.value === "AUD") {
result.value = (amount * 1);
}
if (select.value === "AUD") && (select1.value === "GBP") {
result.value = (amount * 0.51);
}
if (select.value === "AUD") && (select1.value === "JPY") {
result.value = (amount * 79.51);
}
if (select.value === "JPY") && (select1.value === "EUR") {
result.value = (amount * 0.0081);
}
if (select.value === "JPY") && (select1.value === "USD") {
result.value = (amount * 0.0092);
}
if (select.value === "JPY") && (select1.value === "AUD") {
result.value = (amount * 0.013);
}
if (select.value === "JPY") && (select1.value === "GBP") {
result.value = (amount * 0.0064);
}
if (select.value === "JPY") && (select1.value === "JPY") {
result.value = (amount * 1);
}
}
<h1>Convert US Dollars to Euros </h1>
<form>
<p>
<label for="amount">Amount:</label>
<input type="text" id="amount" value="">
<select id="select">
<option value="USD">USD </option>
<option value="EUR">EUR </option>
<option value="GPB">GBP </option>
<option value="AUD">AUD </option>
<option value="JPY">JPY </option>
</select>
<select id="select1">
<option value="USD">USD </option>
<option value="EUR">EUR </option>
<option value="GPB">GBP </option>
<option value="AUD">AUD </option>
<option value="JPY">JPY </option>
</select>
<input type="text" id="result" value="">
</p>
<p>
<input type="button" value="Calculate" onclick="calculate();">
<input type="reset" value="Reset">
</p>
</form>
但到目前为止,它根本不起作用。。。我不明白为什么。。。我做错了什么?
if
语句不应在&&
符号之间闭合。那么在哪里
if (select.value === "EUR") && (select1.value === "EUR")
应该是
if (select.value === "EUR" && select1.value === "EUR")
问题出在括号上,但您的if
语句应该是if else if
,因为找到了一个匹配的语句,您不需要检查其他速率。
if (select.value === "USD" && select1.value === "USD") {
result.value = (amount * 1);
} else if (select.value === "USD" && select1.value === "EUR") {
result.value = (amount * 0.88);
}
更好的方法是创建一个所有速率的对象,并使用单个if
语句检查速率是否存在。
var rates = {
USD : {
USD: 1,
EUR: 0.88,
AUD: 1.37,
},
EUR : {
EUR : 1,
USD : 1.13,
AUD : 1.55,
}
}
if(rates[select.value] && rates[select.value][select1.value]){
result.value = amount * rates[select.value][select1.value];
}
相关文章:
- 带时区的Javascript Datestring转换器
- 带Js的货币转换器
- Ajax调用OGRE转换器
- 货币转换器未转换
- 带有JSONp的货币转换器
- JS或C#中的货币转换器
- 设置money.js(用于货币转换器)时出现问题
- HTML/Javascript 货币转换器
- 修剪使用货币转换器 Web 服务生成的结果的值
- 如何获得双向单位/货币转换器
- Javascript:货币转换器
- 货币转换器!(If语句)
- 淘汰循环参考(简单货币转换器)
- 使功能javascript货币转换器
- 尝试使用jQuery让货币转换器工作
- 在javascript中创建货币转换器的方法、对象
- 应用谷歌货币转换器的所有价格在一个页面上
- JavaScript中的比特币API货币转换器
- 货币转换器从美元到欧元或任何其他货币在html和java脚本
- preg_match错误,货币转换器,未定义偏移量:1