我该如何修复这个 NaN

Posted

技术标签:

【中文标题】我该如何修复这个 NaN【英文标题】:How do i Fix this NaN 【发布时间】:2022-01-21 11:59:18 【问题描述】:

每当我调用表格中的输入时,它们都会以 NaN 结尾,然后导致我的所有代码崩溃,请查看附在这篇文章中的图片以全面了解我在说什么,我什至继续做更多的事情,当我要求为用户输入进行计算时,它给出了 html 输入元素而不是用户输入的值

每当我调用表格中的输入时,我都会得到你所看到的

let $unitload1 = document.getElementById("unitload1");
let $unitload2 = document.getElementById("unitload2");

let $unitload111 = parseInt($unitload1.value);
let $unitload222 = parseInt($unitload2.value);

//grade tables
// const $selectedGrade;
let grading1 = document.getElementById("courseGrade1");
let grading2 = document.getElementById("courseGrade2");

const $gpa = document.getElementById("gpaprint");
const check1 = "yes ooo";
console.log($unitload111, $unitload222);
<table>
  <tr>
    <td>
      <div contenteditable="true">cve 445</div>
    </td>
    <td>
      <div contenteditable="true">RAW MATERIALS</div>
    </td>
    <td><input type="number" id="unitload1" value="1"/></td>
    <td><input type="number" id="courseGrade1" value="1" /></td>
  </tr>

  <tr>
    <td>
      <div contenteditable="true">cve 945</div>
    </td>
    <td>
      <div contenteditable="true">RAW MATERIALS</div>
    </td>
    <td><input type="number" id="unitload2" value="2"/></td>
    <td><input type="text" id="courseGrade2" value="2" /></td>
  </tr>
</table>

【问题讨论】:

考虑使用valueAsNumber而不是解析值 我给你做了一个sn-p。如果您 console.log .value 而不是元素,您不会得到 NaN @evolutionxbox 它仍然在说 NaN @Mmerichukwu 是什么?问题中的示例不会产生 NaN 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。 【参考方案1】:

您可以尝试使用 Number 代替 parseInt 将 String 值转换为数字。示例:

let $unitload222 = Number($unitload2.value);

【讨论】:

他们已经在这样做了。跨越两条线除外。

以上是关于我该如何修复这个 NaN的主要内容,如果未能解决你的问题,请参考以下文章

OpenMP 不在不同的线程中运行这个 for 循环,我该如何修复它

如何从 JS(ES6)中的 for 循环修复 NaN?

如何修复此错误:偏移参数包含 NaN 值。 'dart:ui/painting.dart':断言失败:第 43 行:'<优化输出>'

我该如何修复(节点:5796)UnhandledPromiseRejectionWarning:错误[ERR_HTTP_HEADERS_SENT]:错误?

我该如何修复(节点:5796)UnhandledPromiseRejectionWarning:错误[ERR_HTTP_HEADERS_SENT]:错误?

如何检查 NaN 值?