如何创建 BTC 到 USD 计算器,反之亦然?
Posted
技术标签:
【中文标题】如何创建 BTC 到 USD 计算器,反之亦然?【英文标题】:How to create BTC to USD calculator with vice versa conversion? 【发布时间】:2020-11-30 13:50:31 【问题描述】:BTC 到 USD 的转换工作正常!但我也想从右边的input
到左边的input
添加美元到 BTC 的转换。
美元 input
价值 BTC input
价值。
BTC input
价值为 USD input
价值。
是否可以添加这些牵引转换并一起工作?感谢您阅读我的问题,感谢您的努力。
$("input[name='calc']").keyup(function()
$.getJSON( "https://api.coindesk.com/v1/bpi/currentprice/usd.json",
function( data)
var amountInBtc = parseFloat($("input[name='calc']").val());
//convert btc to usd
var exchangeRate = parseInt(data.bpi.USD.rate_float);
var amount = amountInBtc * exchangeRate;
$("input[name='rslt']").val(amount);
);
);
.calculator
display:flex;
margin-top: 50px;
justify-content: center;
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button
-webkit-appearance: none;
margin: 0;
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<!--------- Calculator----------------->
<div class="calculator">
<input type="number" name="calc" placeholder="BTC">
<div class="arrow" style="margin: 0 10px";>=</div>
<input type="number" name="rslt" placeholder="USD">
</div>
【问题讨论】:
【参考方案1】:见下文...简单的方法是对两个字段都使用一个类,并在该类上调用 onChange 函数,并为字段名称使用变量,而不是在函数中对其进行硬编码。另请注意,使用 toFixed(2) 修复了 2 个小数点,对于小于 0.01 的任何内容,这将是 0.00。 其他的都是不言自明的
$(".currencyField").keyup(function() //input[name='calc']
let convFrom;
if($(this).prop("name") == "btc")
convFrom = "btc";
convTo = "usd";
else
convFrom = "usd";
convTo = "btc";
$.getJSON( "https://api.coindesk.com/v1/bpi/currentprice/usd.json",
function( data)
var origAmount = parseFloat($("input[name='" + convFrom + "']").val());
var exchangeRate = parseInt(data.bpi.USD.rate_float);
let amount;
if(convFrom == "btc")
amount = parseFloat(origAmount * exchangeRate);
else
amount = parseFloat(origAmount/ exchangeRate);
$("input[name='" + convTo + "']").val(amount.toFixed(2));
);
);
.calculator
display:flex;
margin-top: 50px;
justify-content: center;
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button
-webkit-appearance: none;
margin: 0;
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<!--------- Calculator----------------->
<div class="calculator">
<input type="number" name="btc" class="currencyField" placeholder="BTC">
<div class="arrow" style="margin: 0 10px";>=</div>
<input type="number" name="usd" class="currencyField" placeholder="USD">
</div>
【讨论】:
您可以在 toFixed 中选择任意数字。还要根据输入的值更改它。您介意将其标记为已接受的答案吗? 好!它工作正常,这就是我想要的。但是有一个问题!.toFixed(2);
在转换小额美元时不起作用。例如:1 美元 = 0.00 比特币。所以我把它改成了.toFixed(8);
,它工作了。但它也会影响美元input
,就像这个 0.00000000。我也可以解决这个问题吗?上帝保佑你兄弟,非常感谢你帮助我。以上是关于如何创建 BTC 到 USD 计算器,反之亦然?的主要内容,如果未能解决你的问题,请参考以下文章