由变量填充的文本框中的数字格式化为两位小数

前端开发 2026-07-10

在点击计算按钮后,似乎无法将名为 'unloadedtotal' 的文本框的最终结果强制显示为两位小数。我只知道 '.force(2)',但无论我怎么尝试添加它都不起作用。

function calculateSum() {

  if (document.getElementById("unloadedcheck").checked) {
    document.getElementById("unloadedtotal").value = 
      (document.getElementById("unloadedrate").value) *
      (document.getElementById("unloadedmiles").value);
  } else  {
    document.getElementById("unloadedtotal").value = "0.00";
  }

}
<form>
  <table>
    <tr>
      <td>UNLOADED MILES</td>
      <td><input type="checkbox" id="unloadedcheck"></td>
      <td><input type="text" id="unloadedrate" style="text-align: right;" size="4" value="3.00"></td>
      <td><input type="text" id="unloadedmiles" style="text-align: right;" size="4"></td>
      <td><input type="text" id="unloadedtotal" style="text-align: right;" size="4"></td>
    </tr>
  </table>
</form>
<br>
<button onclick="calculateSum()">CALCULATE</button>

解决方案

首先,为函数定义添加结束花括号。然后,使用 Number#toFixed 在字符串表示中获取固定的小数位数。

function calculateSum() {
  if (document.getElementById("unloadedcheck").checked) {
    document.getElementById("unloadedtotal").value = (
      document.getElementById("unloadedrate").value * 
      document.getElementById("unloadedmiles").value
    ).toFixed(2);
  } else {
    document.getElementById("unloadedtotal").value = "0.00";
  }
}
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章