【问题标题】:How to use function in JavaScript to convert temperature如何使用 JavaScript 中的函数来转换温度
【发布时间】:2019-04-06 15:29:39
【问题描述】:

我想构建代码,通过使用 Java 脚本中的任何函数将温度从摄氏度转换为华氏度 我想知道如何从 window.prompt 中获取值并使用它来通过 JavaScript 中的任何函数进一步转换温度?

我创建了 HTML,现在我在 JavaScript 中编写了 window.prompt,我可以在其中放置值。但我不知道如何从 window.prompt 中获取这个值并使用函数将其转换为华氏度。

var button = document.getElementById('greeter-button');
button.addEventListener('click', function() {
  Temperature = window.prompt('What is temperature in celcius?');
});
<div id="button_and_text">
  <button id="greeter-button">Button!</button>
  <br> Click the button! Check the temperature!
  <br><br>
</div>

<div id="greeter-output"></div>

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    你是说这个吗? 请注意,您通常需要将从提示返回的字符串转换为数字,例如使用 +temperature,但乘法会将字符串转换为您的数字。运算符优先级在这里也有帮助

    window.addEventListener("load", function() { // on page load
      var button = document.getElementById('greeter-button'),
          output = document.getElementById('greeter-output');
      button.addEventListener('click', function() {
        var temperature = window.prompt('What is temperature in celcius?');
        if (temperature != null) {
          output.innerHTML = temperature + "&deg;F = " + 
           (temperature * 9 / 5 + 32)    + "&deg;C";
        }  
      });
    });
    <div id="button_and_text">
     <button id="greeter-button">Button!</button><br/> 
     Click the button! Check the temperature!
    </div>
    
    <div id="greeter-output"></div>

    【讨论】:

    • “如何让没有任何研究成果的人完成家庭作业...”
    • @Andreas 他已经足够接近了
    【解决方案2】:

    转换公式更重要,一旦你得到它,然后将其转换为数字并使用innerHTML

    let button = document.getElementById('greeter-button');
    button.addEventListener('click', function() {
      let temp = +window.prompt('What is temperature in celcius?');
      let f = ((9 * temp) / 5) + 32;
      document.getElementById('greeter-output').innerHTML = f
    });
    <div id="button_and_text">
      <button id="greeter-button">Button!</button>
      <br> Click the button! Check the temperature!
      <br><br>
    </div>
    
    <div id="greeter-output"></div>

    【讨论】:

    • @mplungjan 这里是我对Beat you..mins的分析。当我打开sn-p写答案时,你的答案不在那里。假设您已经在 sn-p 中写下答案,但是如果有人正在写答案,那么 SO 不会给出任何指示。所以在那一点上,我不知道很快就会有答案。其次,时间差是从发布答案的时间开始计算的。差异是 2 分钟,在这 2 分钟内,堆栈 sn-p 再次在我的视图中打开,所以 dint 通知我已发布答案。所以在花了 2 分钟后删除答案?
    • 别那么认真!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多