Return only integers

Asked

Viewed 872 times

1

<title>Calculadora de Nível</title>
<meta charset="utf-8">
<style type="text/css">
    body {
        font-family: 'Segoe UI', Calibri, Helvetica, Tahoma, Verdana, Sans-Serif;
        color: #000;
        font-size: 11pt;
    }

    select {
        width: 160px;
        border: 1px solid #333;
        padding: 3px;
        border-radius: 5px;
    }

    input {
        width: 152px;
        border: 1px solid #333;
        padding: 3px;
        text-align: right;
        border-radius: 5px
    }

    #calcular {
        width: 160px;
        text-align: center;
        background: #666;
        color: #fff;
        border-radius: 5px
    }

    #novolv {
        text-align: center;
    }

    #novolv2 {
        text-align: center;
    }

    #novolv3 {
        text-align: center;
    }

    td {
        padding-right: 10px;
        text-align: right;
        background: #000;
        color: #fff;
        border-radius: 10px
    }
</style>
<script src="http://pokemyrpg.forumeiros.com/24899.js" type="text/javascript"></script>
</style>
<script>
    /* Iniciando função e definido variaveis*/
    $(document).ready(function() {
        $("#calcular").click(function() {
            var base;
            var lv = $("#level").val();
            var expganha = $("#numero").val();
            var res = $("#resultado").val();



            /* Definido a base de cada lv de 1 até 100*/
            if (lv == 1) {
                base = 50;
            }
            if (lv == 2) {
                base = 60;
            }
            if (lv == 3) {
                base = 72;
            }
            if (lv == 4) {
                base = 86;
            }
            if (lv == 5) {
                base = 104;

            }
            if (lv == 6) {
                base = 124;
            }
            if (lv == 7) {
                base = 149;
            }
            if (lv == 8) {
                base = 179;
            }
            if (lv == 9) {
                base = 215;
            }
            if (lv == 10) {
                base = 259;
            }
            if (lv == 11) {
                base = 310;
            }
            if (lv == 12) {
                base = 372;
            }
            if (lv == 13) {
                base = 446;
            }
            if (lv == 14) {
                base = 535;
            }
            if (lv == 15) {
                base = 642;
            }
            if (lv == 16) {
                base = 770;
            }
            if (lv == 17) {
                base = 924;
            }
            if (lv == 18) {
                base = 1109;
            }
            if (lv == 19) {
                base = 1331;
            }

            if (lv == 20) {
                base = 1597;
            }
            if (lv == 21) {
                base = 1837;
            }
            if (lv == 22) {
                base = 2113;
            }
            if (lv == 23) {
                base = 2429;
            }

            if (lv == 24) {
                base = 2794;
            }

            if (lv == 25) {
                base = 3157;
            }

            if (lv == 26) {
                base = 3567;
            }

            if (lv == 27) {
                base = 4031;
            }

            if (lv == 28) {
                base = 4555;
            }

            if (lv == 29) {
                base = 5148;
            }

            if (lv == 30) {
                base = 5817;
            }

            if (lv == 31) {
                base = 6573;
            }

            if (lv == 32) {
                base = 7427;
            }

            if (lv == 33) {
                base = 8393;
            }

            if (lv == 34) {
                base = 9484;
            }

            if (lv == 35) {
                base = 10338;
            }

            if (lv == 36) {
                base = 11268;
            }

            if (lv == 37) {
                base = 12282;
            }

            if (lv == 38) {
                base = 13387;
            }

            if (lv == 39) {
                base = 14592;
            }

            if (lv == 40) {
                base = 15906;
            }

            if (lv == 41) {
                base = 16860;
            }

            if (lv == 42) {
                base = 17871;
            }

            if (lv == 43) {
                base = 18944;
            }

            if (lv == 44) {
                base = 20080;
            }

            if (lv == 45) {
                base = 21285;
            }

            if (lv == 46) {
                base = 22562;
            }

            if (lv == 47) {
                base = 23916;
            }

            if (lv == 48) {
                base = 25351;
            }

            if (lv == 49) {
                base = 26872;
            }

            if (lv == 50) {
                base = 28484;
            }

            if (lv == 51) {
                base = 30193;
            }

            if (lv == 52) {
                base = 32005;
            }

            if (lv == 53) {
                base = 33925;
            }

            if (lv == 54) {
                base = 35961;
            }

            if (lv == 55) {
                base = 38119;
            }

            if (lv == 56) {
                base = 40406;
            }

            if (lv == 57) {
                base = 42830;
            }

            if (lv == 58) {
                base = 45400;
            }
            if (lv == 59) {
                base = 48124;
            }
            if (lv == 60) {
                base = 51011;
            }

            if (lv == 61) {
                base = 52542;
            }

            if (lv == 62) {
                base = 54118;
            }

            if (lv == 63) {
                base = 55741;
            }

            if (lv == 64) {
                base = 57414;
            }

            if (lv == 65) {
                base = 59136;
            }

            if (lv == 66) {
                base = 60910;
            }

            if (lv == 67) {
                base = 62737;
            }

            if (lv == 68) {
                base = 64619;
            }

            if (lv == 69) {
                base = 64619;
            }

            if (lv == 70) {
                base = 68555;
            }

            if (lv == 71) {
                base = 70611;
            }
            if (lv == 72) {
                base = 72730;
            }

            if (lv == 73) {
                base = 74912;
            }

            if (lv == 74) {
                base = 77159
            }

            if (lv == 75) {
                base = 79474;
            }

            if (lv == 76) {
                base = 81858;
            }

            if (lv == 77) {
                base = 84314;
            }

            if (lv == 78) {
                base = 86843;
            }

            if (lv == 79) {
                base = 89448;
            }

            if (lv == 80) {
                base = 92132;
            }

            if (lv == 81) {
                base = 94896;
            }

            if (lv == 82) {
                base = 97743;
            }

            if (lv == 83) {
                base = 100675;
            }

            if (lv == 84) {
                base = 103695;
            }

            if (lv == 85) {
                base = 106806;
            }

            if (lv == 86) {
                base = 110010;
            }

            if (lv == 87) {
                base = 113311;
            }

            if (lv == 88) {
                base = 116710;
            }

            if (lv == 89) {
                base = 120221;
            }

            if (lv == 90) {
                base = 132818;
            }

            if (lv == 91) {
                base = 127532;
            }

            if (lv == 92) {
                base = 131358;
            }

            if (lv == 93) {
                base = 135299;
            }

            if (lv == 94) {
                base = 138358;
            }

            if (lv == 95) {
                base = 143539;
            }

            if (lv == 96) {
                base = 147845;
            }
            if (lv == 97) {
                base = 152280;
            }
            if (lv == 98) {
                base = 156848;
            }
            if (lv == 99) {
                base = 161554;
            }
            if (lv == 100) {
                base = 166401;
            }




            if (lv >= 1 && lv <= 100) {


                while (expganha >= base) {

                    novolv;
                    /*O loop vai diminuir a exp ganha pela base enquanto a base for menor*/
                    expganha = expganha - base;
                    /*Definindo o aumento da base de acordo com o level*/
                    if (lv >= 1 && lv <= 19) {
                        base += base * 0.20;
                        $("#base").val(base);
                    }

                    if (lv >= 20 && lv <= 23) {
                        base += base * 0.15;
                        $("#base").val(base);
                    }

                    if (lv >= 24 && lv <= 33) {
                        base += base * 0.13;
                        $("#base").val(base);
                    }

                    if (lv >= 34 && lv <= 39) {
                        base += base * 0.09;
                        $("#base").val(base);
                    }

                    if (lv >= 40 && lv <= 59) {
                        base += base * 0.06;
                        $("#base").val(base);
                    }

                    if (lv >= 60 && lv <= 100) {
                        base += base * 0.03;
                        $("#base").val(base);
                    }
                    /*Incrementando o lv enquanto a base for menor que a exp ganha*/
                    lv++;
                    novolv = lv;
                    $("#novolv").val(novolv);
                    rst = expganha;
                    $("#rst").val(rst)

                }

            }

        });
    });
</script>



<form>
    <table>
        <tr>
            <td>
                <table border="0">
                    <tbody>
                        <tr>
                            <td>
                                Informe o Nível:
                            </td>
                            <td>
                                <select id="level">
                                    <option value="1">Nível 1</option>
                                    <option value="2">Nível 2</option>
                                    <option value="3">Nível 3</option>
                                    <option value="4">Nível 4</option>
                                    <option value="5">Nível 5</option>
                                    <option value="6">Nível 6</option>
                                    <option value="7">Nível 7</option>
                                    <option value="8">Nível 8</option>
                                    <option value="9">Nível 9</option>
                                    <option value="10">Nível 10</option>
                                    <option value="11">Nível 11</option>
                                    <option value="12">Nível 12</option>
                                    <option value="13">Nível 13</option>
                                    <option value="14">Nível 14</option>
                                    <option value="15">Nível 15</option>
                                    <option value="16">Nível 16</option>
                                    <option value="17">Nível 17</option>
                                    <option value="18">Nível 18</option>
                                    <option value="19">Nível 19</option>
                                    <option value="20">Nível 20</option>
                                    <option value="21">Nível 21</option>
                                    <option value="22">Nível 22</option>
                                    <option value="23">Nível 23</option>
                                    <option value="24">Nível 24</option>
                                    <option value="25">Nível 25</option>
                                    <option value="26">Nível 26</option>
                                    <option value="27">Nível 27</option>
                                    <option value="28">Nível 28</option>
                                    <option value="29">Nível 29</option>
                                    <option value="30">Nível 30</option>
                                    <option value="31">Nível 31</option>
                                    <option value="32">Nível 32</option>
                                    <option value="33">Nível 33</option>
                                    <option value="34">Nível 34</option>
                                    <option value="35">Nível 35</option>
                                    <option value="36">Nível 36</option>
                                    <option value="37">Nível 37</option>
                                    <option value="38">Nível 38</option>
                                    <option value="39">Nível 39</option>
                                    <option value="40">Nível 40</option>
                                    <option value="41">Nível 41</option>
                                    <option value="42">Nível 42</option>
                                    <option value="43">Nível 43</option>
                                    <option value="44">Nível 44</option>
                                    <option value="45">Nível 45</option>
                                    <option value="46">Nível 46</option>
                                    <option value="47">Nível 47</option>
                                    <option value="48">Nível 48</option>
                                    <option value="49">Nível 49</option>
                                    <option value="50">Nível 50</option>
                                    <option value="51">Nível 51</option>
                                    <option value="52">Nível 52</option>
                                    <option value="53">Nível 53</option>
                                    <option value="54">Nível 54</option>
                                    <option value="55">Nível 55</option>
                                    <option value="56">Nível 56</option>
                                    <option value="57">Nível 57</option>
                                    <option value="58">Nível 58</option>
                                    <option value="59">Nível 59</option>
                                    <option value="60">Nível 60</option>

                                </select>
                            </td>
                        </tr>


                        <tr>
                            <td>
                                EXP Recebida:
                            </td>
                            <td>
                                <input max="25" min="0" step="1" pattern="0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25" value="0" type="text" id="numero" />
                            </td>
                        </tr>
                        <tr>
                            <td>
                            </td>
                            <td>
                                <input value="Calcular!" type="button" id="calcular" />
                            </td>
                        </tr>
                        <tr>
                            <td>
                                Novo Nível:
                            </td>
                            <td>
                                <input id="novolv" type="text" />
                            </td>
                        </tr>
                        <tr>
                            <td>
                                EXP Restante:
                            </td>
                            <td>
                                <input id="rst" type="text" />
                            </td>


                        </tr>
                        <tr>
                            <td>
                                Nova Base:
                            </td>
                            <td>
                                <input id="base" type="text" />
                            </td>


                        </tr>
                    </tbody>
                </table>
</form>

How can I make the code just return whole numbers? Type it is returning numbers of type 1.4543, image:

inserir a descrição da imagem aqui

2 answers

3


As mentioned in the comments, use the function parseInt().

In English (taken from the Mozilla Developers website):

The parseint() Function parses a string argument and Returns an integer of the specified Radix or base.

Translated into English:

The parseint() function parses an argument of the String type and returns a specified Radix or base integer.

Example:

if (lv >= 60 && lv <= 100) {
     base += base * 0.03;
     $("#base").val(parseInt(base));
}

Click here to open your Jsfiddle problem resolution

EDIT

The function toFixed() also solves your problem, I use parseInt() in some of my example passing a number including, however is expected a String, it works, but as was commented here in the reply the best in your case would be the toFixed() to turn a number into a string. It is important to follow the pattern.

Example:

var numObj = 12345.6789;
console.log(numObj.toFixed());

If you pass a value within the method toFixed(), such as, for example: toFixed(2) will output 2 (two) numbers after the comma.

References:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed

  • 1

    Exactly! I had tried parseint but otherwise it was not working. Thank you!

  • 3

    Are you sure it’s a parseInt which applies in that case? It would not be a .toFixed? After all, it is not a string that is being converted into a number, but the opposite...

3

Browser other questions tagged

You are not signed in. Login or sign up in order to post.