Это состоит из двух проблем. Первая проблема - округление чисел до определенной десятичной точки. Вторая проблема заключается в подключении выпадающего меню к правой десятичной системе.Круглое значение с использованием выпадающего меню/переключателя
Первый мой код:
<style>
span{font-style:italic;}
span{color:green;}
</style>
<script>
function calcul(){
var sales = parseFloat(document.getElementById("sales").value);
var OpExp = parseFloat(document.getElementById("OpExp").value);
var TaxAll = parseFloat(document.getElementById("TaxAll").value);
var Depre = parseFloat(document.getElementById("Depre").value);
var Divid = parseFloat(document.getElementById("Divid").value);
var TaxR = parseFloat(document.getElementById("TaxR").value);
//GP = Gross Profit
var GP = sales - OpExp;
//TaxInc = Taxable Income
var TaxInc = GP + TaxAll;
//NetInc = Net Income
var NetInc = TaxInc - ((TaxR/100) * TaxInc);
document.getElementById("NetIncome").innerHTML=
TaxInc - ((TaxR/100) * TaxInc);
//AtRE = Addition to Retained Earnings
document.getElementById("AtRE").innerHTML = NetInc - Divid;
}
</script>
<form action="" id="nothing">
In 2007 the British building firm Balfour Betty plc had sales of
<input type="text" id="sales" maxlength="6" size="6">
million, total operating expenses of
<input type="text" id="OpExp" maxlength="6" size="6">
million, a tax allowance (rebate) of
<input type="text" id="TaxAll" maxlength="6" size="6">
million because of past losses, and
<input type="text" id="Depre" maxlength="6" size="6">
depreciation. <strong>What is the net income of the
firm?</strong><br />
<br />
Balfour Betty plc paid out <input type="text" id="Divid" maxlength="6" size="6"> million
in cash dividends. <strong>What is the addition to retained earnings?</strong><br />
<br />
The tax rate is <input type="text" id="TaxR" maxlength="6" size="6"> %.<br />
<br />
<input type="button" value="Calculate" id="but" onclick="calcul()" /><br />
<br />
</form>
<strong>The Net Income of Balfour Betty plc is </strong><span id="NetIncome">XXX</span>
<strong> million</strong><br />
<br />
<strong>The addition to retained earnings of Balfour Betty plc is </strong><span id="AtRE">
XXX</span><strong> million</strong>
<br />
<br />
Первая проблема: округление числа. Следующий ответ: <span id="NetIncome">
необходимо округлить динамически. Я попытался добавить новую переменную с именем RNetInc
и добавить следующее уравнение RNetInc = NetInc.toFixed(4)
, но он дал мне только два десятичных знака, и после обновления он больше не работает. Каков наилучший способ округления ответа на N десятичных знаков?
Вторая проблема заключается в том, что я не знаю, возможно ли это. Что я имею в виду, заключается в следующем: Меню раскрывающийся
<select>
<option value"1">1 decimal</option>
<option value"2">2 decimals</option>
<option value"3">3 decimals</option>
</select>
Итак, что я хочу, что, когда я нажимаю N decimal
, ответ изменится N десятичной. Это очень сложная ситуация, но я часто нуждаюсь.
Поскольку я знаю только (очень) основы Javascript, даже используя Google, я не могу найти ответ. Может ли кто-нибудь получить меня на правильном пути (если это возможно)? Заранее спасибо.
Предыдущая была на самом деле уже хорошо, но отредактированная версия еще лучше. Это определенно работает, но у меня есть вопрос: Я действительно не понимаю этот бит кода: 'var calc = false; window.onload = function() { document.getElementById ('dec'). AddEventListener ('change', function() { if (расчет) calcul();}); } ' – user2686401
@ user2686401' if' предотвращает 'calcul()' 'перед тем, как кнопка' Calculate' будет нажата хотя бы один раз. В 'calcul()' 'вычисляется = true'. Это называется помечением. Если вы создадите систему проверки в 'calcul()', вы можете удалить отметку. – Teemu