【问题标题】:Removing comma's from javascript (Nan) [duplicate]从javascript(Nan)中删除逗号[重复]
【发布时间】:2018-04-14 22:24:09
【问题描述】:

只是想知道我是否可以得到一些帮助。让自己为一些我确信很容易的事情而发疯! :(

基本上,我正在尝试获得一个可以计算两个变量的计算器。我有点不择手段地完成了这项工作....

但是我输入的数字将从其他地方复制和粘贴,因此很可能会有逗号分隔,例如一千将是 ​​1,000.00(值后可能有空格)。

这会破坏我的计算器,给出“nAn”的结果,我似乎找不到解决方法。有人可以帮忙吗?

非常感谢。

到目前为止我的代码:

<HTML>
<HEAD>
  <TITLE>calc</TITLE>

  <SCRIPT language="javascript" type="text/javascript">
    function division() {
      a=Number(document.calculator.number1.value);
      b=Number(document.calculator.number2.value);
      c=(a/b)*10000;

      document.calculator.total.value=c;
    }
  </SCRIPT>
</HEAD>
<BODY>
  <FORM name="calculator">
    First input: <INPUT type="text" name="number1"> <br>
    Second input: <INPUT type="text" name="number2"> <br>
    <INPUT type="button" value="Calculate" onclick="javascript:division();">
    Total: <INPUT type="text" name="total"> <br>
  </FORM>
</BODY>
</HTML>

【问题讨论】:

  • 我想说,如果你得到NaN(不是数字),你应该告诉用户关心他正在输入的内容,而不是不惜一切代价获得数字。
  • 想象一下这是一次银行转账,而你猜错了号码:-P

标签: javascript html


【解决方案1】:

这里有一个小辅助函数,您可以使用它来解析输入。它将删除逗号并返回一个数字。

function parseInput(input) {
  return Number(input.replace(/,/g, ''));
}

【讨论】:

    【解决方案2】:

    function division()
    
    {
    
    a=document.calculator.number1.value;
    b=document.calculator.number2.value;
    
    a = parseFloat(a.replace(',',''));
    b = parseFloat(b.replace(',',''));
    
    c=(a/b)*10000;
    
    document.calculator.total.value=c;
    }

    【讨论】:

      【解决方案3】:

      这是你的例子:

      <!DOCTYPE html>
      <html>
      
      <head>
          <title></title>
      </head>
      <script type="text/javascript">
      function division() {
          var a = document.calculator.number1.value;
          var number1 = a.replace(/,/g, '');
          var b = document.calculator.number2.value;
          var number2 = b.replace(/,/g, '');
          var c = (Number(number1) / Number(number2)) * 10000;
          document.calculator.total.value = c;
      }
      </script>
      
      <body>
          <FORM name="calculator">
              First input:
              <INPUT type="text" name="number1">
              <br> Second input:
              <INPUT type="text" name="number2">
              <br>
              <INPUT type="button" value="Calculate" onclick="javascript:division();"> Total:
              <INPUT type="text" name="total">
              <br>
          </FORM>
      </body>
      
      </html>
      

      【讨论】:

      猜你喜欢
      • 2015-10-28
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 2020-06-27
      • 2020-10-26
      • 2017-04-07
      • 2013-07-29
      • 2021-06-12
      相关资源
      最近更新 更多