JavaScript:我使用的是 parseFloat 对吗?

问题描述 投票:0回答:2

我对编程和 JavaScript 非常陌生。这是我在没有任何教程的情况下尝试做的第一件事。当我尝试此操作时,无论输入中的值是什么,它最终都只显示最后一条消息。

我尝试在网上查找,但找不到问题所在。我的理论是 parseFloat 没有像我想象的那样工作,但我不明白为什么。

function displayPrice() {
  let input = document.getElementById("priceValue").value;
  let price = parseFloat("input");

  if (price < 0) {
    document.getElementById("display").innerHTML = "You cannot sell anything for less than 0$."
  } else if (price > 100) {
    document.getElementById("display").innerHTML = "This is too expensive."
  } else {
    document.getElementById("display").innerHTML = "This is a reasonable price."
  }

};
<div id="price">
  Price:
  <input type="number" id="priceValue">
  <button onclick="displayPrice()">Click me</button>
  <div id="display"></div>
</div>

javascript parsefloat
2个回答
0
投票

不,因为您正在解析字符串

"input"
而不是存储在输入中的值...您需要使用该变量而不是字符串

let input = document.getElementById("priceValue").value;
let price = parseFloat(input);

-1
投票

您正在尝试传递字符串“input”而不是变量输入。放在引号内的任何内容都是字符串。要将变量作为参数传递,您应该删除引号:

let price = parseFloat(input);

我建议你更多地关注学习变量如何工作、函数和传递函数参数如何工作以及字符串如何工作。

还尝试使用 console.log 来调试代码。如果您这样做,您会更快地发现问题。

© www.soinside.com 2019 - 2024. All rights reserved.