JSFiddle - React, Tailwind, and code Playground

by Ilya Kanatov

HTML

<table>
  <tr>
    <td>Баланс BTC </td>
    <td><input id="balance" type="text" value="0.01"></td>
  </tr>
  <tr>
    <td>Продать BTC за USD</td>
    <td><input id="sellCurrency" type="text" value="2495"></td>
  </tr>
  <tr>
    <td>Купить BTC за USD </td>
    <td><input id="buyCurrency" type="text" value="2395"></td>
  </tr>
  <tr>
    <td>Комиссия площадки за продажу %</td>
    <td><input id="sellFee" type="text" value="0.1"></td>
  </tr>
  <tr>
    <td>Комиссия площадки за покупку %</td>
    <td><input id="buyFee" type="text" value="0.2"></td>
  </tr>
</table>
<div id="calc"></div>
<input id="button" type="button" value="Посчитать">

JavaScript

var result = document.getElementById("calc");
var button = document.getElementById("button");

function render(_result, _buyCurrency)
{
	h = 'Вигода: ';
  h += 'BTC ' + _result;
	h += ', USD ' + getRound(_result * _buyCurrency);
	result.innerHTML = h;
}
function getRound(_n)
{
	return parseFloat(_n).toFixed(4);
}
function getPercent(_percent, _number)
{
	var number = getRound(_number);
  console.log('percent input:', _percent * 100, number);
	var p = 0
  if (number < 1) {
    (_percent * 100) * number;
  } else {
    (_percent * 100) / number;
  }
  p = getRound(p);
  console.log('percent result:', p);
  return p;
}
function trade(_action, _balance, _currency)
{
	var summ = 0;
  switch(_action) {
    case 'buy':
    	summ = _balance / _currency;
      summ = getRound(summ);
    	console.log('buy summ:',summ, _balance, _currency);
    	summ -= getPercent(0.2, summ);
      summ = getRound(summ);
    	console.log('buy percent:',summ);
      break;
    case 'sell':
		  summ = _currency * _balance;
			summ = getRound(summ);
    	console.log('sell summ:',summ, _balance, _currency);
			summ -= getPercent(0.1, summ);
      summ = getRound(summ);
    	console.log('sell percent:',summ);
      break;
    default:
    	summ = null;
      break;
  }
	return summ;
}
function calc(_balance, _buyCurrency, _sellCurrency, _sellFee, _buyFee)
{
	var newBalance = trade('sell', _balance, _sellCurrency);
  console.log('			sell balance:', newBalance)
  newBalance =  trade('buy', newBalance, _buyCurrency);
  console.log('			buy balance:', newBalance)
	var profit = newBalance - _balance;  
  profit = getRound(profit);
  render(profit, _buyCurrency);
}

function onPress()
{
	var balance = document.getElementById("balance").value;
  var buyCurrency = document.getElementById("buyCurrency").value;
  var sellCurrency = document.getElementById("sellCurrency").value;
  var sellFee = document.getElementById("sellFee").value;
  var buyFee = document.getElementById("buyFee").value;
  
 ...