繁体   English   中英

如何正确使用变量和Math.round

[英]How to properly use variables and Math.round

所以我有这个javascript更新段落,但它只输出NaN 当我检查无var coins会输出? 在我单击按钮之前,我,如果我在HTML中按下按钮,则每次单击它都会添加0.01 ,然后我的输出最终会像这样?0.010.010.010.01.01...知道为什么会这样吗?

 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> 

您可以使用Number.toFixed两位数字。 结果是一个字符串。

toFixed()方法使用定点表示法格式化数字。

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> 

更改

setInterval(update, 10);

setInterval("update()", 10);

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

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>enter code here
</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM