Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Посчитать % на калькуляторе (https://javascript.ru/forum/events/50632-poschitat-%25-na-kalkulyatore.html)

203 05.10.2014 12:46

Посчитать % на калькуляторе
 
Здравствуйте. Помогите пожалуйста реализовать в калькуляторе правильный подсчет %.
Должно считать примерно так: 180-20%=180-((180/100)*20)=180-36=144
Пытался дописать к этому:
<html>
<script langauge="JAVASCRIPT 1.3" type="text/javascript">
function addChar(input, character) {
    if(input.value == null || input.value == "0")
        input.value = character
    else
        input.value += character
}

function changeSign(input) {
    if(input.value.substring(0, 1) == "-")
        input.value = input.value.substring(1, input.value.length)
    else
        input.value = "-" + input.value
}

function compute(form) {
    var r = eval(form.display.value);
    form.display.value = Math.round(r * 100) / 100;}
</script>


<body>

        <form name="form1">
        <table>
            <tr>
                <td>
                    <input type="text" name="display" value="0" size="12">
                </td>
            </tr>
            <tr>
                <td class="buttons">
                    <input type="button" name="1" value="1" onclick="addChar(this.form.display, '1')">
                    <input type="button" name="2" value="2" onclick="addChar(this.form.display, '2')">
                    <input type="button" name="3" value="3" onclick="addChar(this.form.display, '3')">
                    <input type="button" name="+" value="+" onclick="addChar(this.form.display, '+')">
                    <br>
                    <input type="button" name="4" value="4" onclick="addChar(this.form.display, '4')">
                    <input type="button" name="5" value="5" onclick="addChar(this.form.display, '5')">
                    <input type="button" name="6" value="6" onclick="addChar(this.form.display, '6')">
                    <input type="button" name="-" value="-" onclick="addChar(this.form.display, '-')">

                    <br>
                    <input type="button" name="7" value="7" onclick="addChar(this.form.display, '7')">
                    <input type="button" name="8" value="8" onclick="addChar(this.form.display, '8')">
                    <input type="button" name="9" value="9" onclick="addChar(this.form.display, '9')">
					<input type="button" value="%" onClick=" cubed(this.form) ">

                    <br>
                    <input type="button" name="0" value="0" onclick="addChar(this.form.display, '0')">
                    <input type="button" name="=" value="=" onclick="compute(this.form)">
					<input type="button" name="C" value="C" onclick="this.form.display.value = 0">
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

Помогите пожалуйста. Заранее спасибо.

bes 06.10.2014 20:38

<input value="180 - 20%"/>
<button>click</button>
<script>
document.querySelector("button").addEventListener("click", function () {
	var value = document.querySelector("input").value;
	var mas = value.match(/\d+/g);
	var omen = value.match(/[^\d\s]/)[0];
	var result = eval(mas[0] + omen + ((mas[0]/100) * mas[1]));
	alert(result);
});
</script>


Часовой пояс GMT +3, время: 16:09.