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

JavaScript判断百分比时大于等于/小于等于运算符异常问题

问题根因

  • 单元格内的数值携带%符号,直接调用parseFloat转换时,12.50%会被解析为数值12.5、25.00%会被解析为25,远大于判断条件中的阈值0.30,仅0%会被解析为0符合条件,因此只有0%的单元格被标红。
  • 原有代码存在额外隐患:直接读取innerHTML如果单元格内存在其他内嵌HTML标签会导致解析异常,用setAttribute覆盖style属性会清空单元格原有其他行内样式。

修复方案

方式1:按百分比数值直接判断(推荐,可读性更高)

<script>
const tds = document.getElementsByTagName("td");
for (let i = 0; i < tds.length; i++) {
    // 提取单元格纯文本,去除首尾空格和百分号
    const cellContent = tds[i].textContent.trim().replace('%', '');
    const percentValue = parseFloat(cellContent);
    // 跳过非数值单元格,判断是否符合<=30%的规则
    if (!isNaN(percentValue) && percentValue >= 0 && percentValue <= 30) {
        tds[i].style.backgroundColor = 'red';
    }
}
</script>

方式2:转换为小数判断(和原有判断逻辑对齐)

<script>
const tds = document.getElementsByTagName("td");
for (let i = 0; i < tds.length; i++) {
    const cellContent = tds[i].textContent.trim().replace('%', '');
    const rateValue = parseFloat(cellContent) / 100;
    if (!isNaN(rateValue) && rateValue >= 0 && rateValue <= 0.3) {
        tds[i].style.backgroundColor = 'red';
    }
}
</script>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:48:03