2017-01-14 8 views
0

So habe ich dieses Javascript, die einen Absatz aktualisiert, aber es gibt nur NaN. Wenn ich überprüfen die var coins es gibt ?, bevor ich auf die Schaltfläche klicken, i, und wenn ich auf die Schaltfläche im HTML schieben fügt es 0.01 jedes Mal, wenn ich es klicken und dann endet mein Ausgang ?0.010.010.010.01.01... wie dieser auf eine Idee, warum dies geschieht?Wie man richtig Variablen verwenden und Math.round

var Cpc = 0.01; //Coins per Click 
 
var coins = 0; //Coins 
 
var cps = 0; //Coins per Sec 
 

 
setInterval(update, 10); 
 

 
function update() { 
 
    var coinsFix = Number(Math.round(coins + 'e2') + 'e-2'); 
 
    document.getElementById('Coins').innerHTML = coinsFix + ' $'; 
 
    document.getElementById('CoinsB').innerHTML = coinsFix; 
 
    document.getElementById('Cps').innerHTML = cps + ' Cps'; 
 
} 
 

 
function CPC() { 
 
    function cpc() { 
 
     var addCoins = coins + Cpc; 
 
     return addCoins; 
 
    } 
 
    coins = cpc(); 
 
}
<div class="rightBox"> 
 
    <div id="ClickSpot"> 
 
    <button id="clickButton" onClick="CPC()"> <img src="ClickerCoin.png" alt="ClickerSpot" class="ClickerSpot"> </button> 
 
    </div> 
 
</div> 
 
<div class="bottomBox"> 
 
    <p id="Coins">Coins</p> 
 
    <div id="CoinsB" style="display: none"></div> 
 
    <p id="Cps">Cps</p> 
 
</div>

+0

was soll rund tun? –

+0

Es ist, weil, wenn ich 0,01 bis Münzen fügen Sie es eine Menge von Dezimalstellen wird, und ich möchte nur zwei Dezimalstellen – McMuffin

+0

Ah zeigen ... Verwenden Sie dann 'toFixed();'. Sie können die Dezimalgenauigkeit festlegen, geben aber eine Zeichenfolge zurück. – allnodcoms

Antwort

0

Sie Number.toFixed mit zwei Ziffern verwenden könnte. Das Ergebnis ist eine Zeichenfolge.

Die toFixed() Methode formatiert eine Anzahl Festkommanotation.

var coinsFix = coins.toFixed(2); 
//     ^^^^^^^^^^^ 

var Cpc = 0.01; //Coins per Click 
 
var coins = 0; //Coins 
 
var cps = 0; //Coins per Sec 
 

 
setInterval(update, 10); 
 

 
function update() { 
 
    var coinsFix = coins.toFixed(2); 
 
    document.getElementById('Coins').innerHTML = coinsFix + ' $'; 
 
    document.getElementById('CoinsB').innerHTML = coinsFix; 
 
    document.getElementById('Cps').innerHTML = cps + ' Cps'; 
 
} 
 

 
function CPC() { 
 
    function cpc() { 
 
     var addCoins = coins + Cpc; 
 
     return addCoins; 
 
    } 
 
    coins = cpc(); 
 
}
<div class="rightBox"> 
 
    <div id="ClickSpot"> 
 
    <button id="clickButton" onClick="CPC()"> <img src="ClickerCoin.png" alt="ClickerSpot" class="ClickerSpot"> </button> 
 
    </div> 
 
</div> 
 
<div class="bottomBox"> 
 
    <p id="Coins">Coins</p> 
 
    <div id="CoinsB" style="display: none"></div> 
 
    <p id="Cps">Cps</p> 
 
</div>

-1

ändern

setInterval(update, 10); 

zu

setInterval("update()", 10); 

auch

var coinsFix = Number(Math.round(coins + 'e2') + 'e-2'); 

zu

var coinsFix = coins.toFixed(2); 

Versuchen Sie folgendes:

var Cpc = 0.01; //Coins per Click 
var coins = 0; //Coins 
var cps = 0; //Coins per Sec 

setInterval("update()", 10); 

function update() { 
    var coinsFix = coins.toFixed(2); 
    document.getElementById('Coins').innerHTML = coinsFix + ' $'; 
    document.getElementById('CoinsB').innerHTML = coinsFix; 
    document.getElementById('Cps').innerHTML = cps + ' Cps'; 
} 

function CPC() { 
    function cpc() { 
     var addCoins = coins + Cpc; 
     return addCoins; 
    } 
    coins = cpc(); 
} 


<div class="rightBox"> 
    <div id="ClickSpot"> 
    <button id="clickButton" onClick="CPC()"> <img src="ClickerCoin.png" alt="ClickerSpot" class="ClickerSpot"> </button> 
    </div> 
</div> 
<div class="bottomBox"> 
    <p id="Coins">Coins</p> 
    <div id="CoinsB" style="display: none"></div> 
    <p id="Cps">Cps</p>enter code here 
</div> 
Verwandte Themen