Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在这些代码行中添加数千分隔符?_Javascript_Html_Math_Separator - Fatal编程技术网

Javascript 如何在这些代码行中添加数千分隔符?

Javascript 如何在这些代码行中添加数千分隔符?,javascript,html,math,separator,Javascript,Html,Math,Separator,我一直在谷歌上搜索这个问题,但我发现解决方案很难,所以我来这里问我怎么做。 我正在做一项调查,我想从基础开始:开采黄金和购买。现在我正着手开发这个游戏的下一步,我真的需要帮助 HTML 任何帮助对我都有很大的帮助,因为我是JavaScript和HTML编程的初学者!谢谢你阅读我的帖子 您可以使用Javascript中提供的函数中的NumberFormat()函数。(单击链接获取文档) Intl.NumberFormat()函数的第一个参数是locale,如果希望它是泛型的,只需传入“en-US”

我一直在谷歌上搜索这个问题,但我发现解决方案很难,所以我来这里问我怎么做。 我正在做一项调查,我想从基础开始:开采黄金和购买。现在我正着手开发这个游戏的下一步,我真的需要帮助

HTML


任何帮助对我都有很大的帮助,因为我是JavaScript和HTML编程的初学者!谢谢你阅读我的帖子

您可以使用Javascript中提供的函数中的NumberFormat()函数。(单击链接获取文档)

  • Intl.NumberFormat()函数的第一个参数是locale,如果希望它是泛型的,只需传入“en-US”。但是如果您想从浏览器中获取语言,也可以传入navigator.language

  • 此函数的第二个参数是options对象。现在,在这个选项对象中,我传入了maximumSignificantDigits并将其设置为3。您可以根据自己的要求进行更改。您还可以传递其他选项,只需查看我上面提供的链接

  • 最后,您将调用format()函数,并将您的gold作为参数传入,这将整体返回最大有效位为3的格式化值

  • constgold=1000000;
    const formattedGold=Intl.NumberFormat('en-US',{maximumSignificantDigits:3})。格式(gold);
    //将输出打印到控制台
    
    console.log(formattedGold)<!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title>Gold Miner</title> </head> <body> <h2 id="goldMined">0 Gold Mined</h2> <br /> <br /> <button onclick="buyGoldPerClick()" id="perClickUpgrade">Get More Money. Cost: 10 Gold</button> <br /> <br /> <button onclick="Reset()">Reset Game</button> <script src="main.js" charset="utf-8" type="text/javascript"></script> </body> </html>
    var gameData = {
        gold: 0,
        goldPerClick: 0.01,
        goldPerClickCost: 10,
        tickReduction: 1000,
        tickReductionCost: 100
    }
    
    function mineGold() {
        gameData.gold += gameData.goldPerClick
        document.getElementById("goldMined").innerHTML = gameData.gold.toFixed(0).toLocaleString('en') + " Gold Mined"
        document.getElementById("perClickUpgrade").innerHTML = "Buy Pickaxe. Cost: " + gameData.goldPerClickCost.toFixed(0).toLocaleString('en') + " Gold"
    }
    
    function buyGoldPerClick() {
        if (gameData.gold >= gameData.goldPerClickCost) {
            gameData.gold -= gameData.goldPerClickCost
            gameData.goldPerClick *= 2
            gameData.goldPerClickCost *= 3
            document.getElementById("goldMined").innerHTML = gameData.gold.toLocaleString('en') + " Gold Mined"
            document.getElementById("perClickUpgrade").innerHTML = "Buy Pickaxe. Cost: " + gameData.goldPerClickCost.toLocaleString('en') + " Gold"
        }
    }
    
    function Reset() {
        gameData.gold = 0
        gameData.goldPerClick = 0.01
        gameData.goldPerClickCost = 10
    }
    
    var mainGameLoop = window.setInterval(function () {
        mineGold()
    }, 10)
    
    var saveGameLoop = window.setInterval(function () {
        localStorage.setItem("goldMinerSave", JSON.stringify(gameData))
    }, 1)
    
    var savegame = JSON.parse(localStorage.getItem("goldMinerSave"))
    if (savegame !== null) {
        gameData = savegame
    }