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

TypeScript汇率转换脚本显示[object HTMLSpanElement]问题求助

问题原因及修复方案

核心问题

你遇到的[object HTMLSpanElement]是因为直接拿DOM元素对象做数值计算了,元素本身会被强制转换成这个字符串,导致计算结果带上前缀。另外代码里还有两处无效操作:

  • parseInt(EUR)和parseInt(findUSD)没把转换结果赋值给变量,等于白写
  • 用parseInt处理小数汇率会丢失精度,应该用parseFloat或Number()

修复后的代码

const USDtoEUR = () => {
    const findUSD = document.querySelectorAll(".usd")[0];
    if (!findUSD) return;

    // 获取span里的文本数值,转成浮点数
    const usdValue = parseFloat(findUSD.textContent.trim());
    if (isNaN(usdValue)) return; // 处理非数值的情况

    const eurRate = 0.94; // 直接用数值,不用字符串
    const eurValue = (usdValue * eurRate).toFixed(2); // 保留两位小数更合理

    findUSD.textContent = eurValue;
};

setInterval(USDtoEUR, 300);

关键改动说明

  • 先从findUSD的textContent里提取文本,转成浮点数再计算
  • 去掉无用的字符串转数值操作,直接用数值类型的汇率
  • 增加isNaN判断,避免非数值内容导致计算出错
  • 用toFixed(2)保留两位小数,符合货币显示习惯

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 08:21:35