You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现加密货币价格翻倍显示?代码故障排查求助

解决加密货币价格翻倍显示的问题

你遇到的问题核心是变量命名冲突:你已经用const live获取了页面上的DOM元素,之后又试图用let live声明一个存储翻倍价格的变量,这会导致变量重复定义,打断代码执行,最终页面无法正常显示数值。

修改方案

你可以通过两种简单方式实现价格翻倍:

方式1:直接在渲染时计算翻倍值

不需要额外声明变量,直接在插入HTML的模板字符串里计算2 * livePrice:

live.innerHTML = `<h2>${2 * livePrice}</h2>`;

方式2:声明新变量存储翻倍价格

如果后续需要复用这个翻倍后的数值,可以声明一个全新的变量(比如doubledPrice)来存储,避免和DOM元素变量live重名:

let doubledPrice = 2 * livePrice;
live.innerHTML = `<h2>${doubledPrice}</h2>`;

修改后的完整代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
  </head>

  <body translate="no">
    <h2>Current price (2x):</h2>
    <h2 id="live"></h2>

    <script id="rendered-js">
      const live = document.getElementById("live");

      fetch("https://min-api.cryptocompare.com/data/pricemultifull?fsyms=ETH&tsyms=USD&e=Coinbase")
        .then((res) => res.json())
        .then((data) => {
          let livePrice = data.RAW.ETH.USD.PRICE;
          let dayPrice = data.RAW.ETH.USD.OPEN24HOUR;

          let p = parseFloat(((livePrice - dayPrice) / dayPrice) * 100).toFixed(2);

          // 直接计算翻倍后的值插入页面
          live.innerHTML = `<h2>${2 * livePrice}</h2>`;
        });
      //# sourceURL=pen.js
    </script>
  </body>
</html>

额外优化

如果需要让翻倍后的价格保留和原价格一致的小数位数,可以用toFixed()方法格式化:

live.innerHTML = `<h2>${(2 * livePrice).toFixed(2)}</h2>`;

内容的提问来源于stack exchange,提问作者0xWenMoon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 07:15:38