【问题标题】:How to enter only number and decimal 4 digit如何只输入数字和十进制 4 位
【发布时间】:2017-09-25 03:10:49
【问题描述】:

我使用 JavaScript。我只想输入数字和十进制的 4 位数字。 但我尝试十进制只有 4 位不工作。

平均售价

<asp:TextBox id="txtRangeFrom" Runat="server" onkeypress="validNumberAndDecimal(this);" Style="text-align: center; width:100px;" Text='<%# DataBinder.Eval(Container.DataItem, "range_start") %>'>                                                                      </asp:TextBox>

Javascript

 function validNumberAndDecimal(sender)
        {
           var operator = document.getElementById('ddlOperator').value;        

           if(operator == 'AWN') 
           {
                //condition Nomber Only
           }
           else // TOT Condition decimal 4 digit
           {               
                var caretPos = 0;
                if (document.selection)
                {
                    sender.focus();
                    var Sel = document.selection.createRange();
                    Sel.moveStart('character', -sender.value.length);
                    caretPos = Sel.text.length;
                }
                else if (sender.selectionStart || sender.selectionStart == '0')
                {
                    caretPos = sender.selectionStart;
                }

                var keyCode = window.event.keyCode;
                var str = document.getElementById(sender.id).value;

                if ((keyCode >= 48 && keyCode <= 57) || (keyCode == 8))
                {
                    return true;
                }
                else if (keyCode == 46) {
                    var curVal = document.activeElement.value;
                    if (curVal != null && curVal.trim().indexOf('.') == -1) --> not working
                    {                       
                        return true;                        
                    }
                    else
                    {
                        window.event.returnValue = false;
                        return false;
                    }
                }
                else
                {
                    window.event.returnValue = false;
                    return false;
                }   
           }           
        }

现在的结果: 40.0123456789

但我想要十进制 4 git: 40.0123 或 4.1245 或 789456.1234

提前致谢。 :)

【问题讨论】:

    标签: javascript c# decimal keycode digits


    【解决方案1】:

    您可以使用零依赖 (https://github.com/autoNumeric/autoNumeric/) 的超棒 AutoNumeric 库。

    为了得到一个有 4 位小数的数字,你可以这样做:

    const aNElement = new AutoNumeric('.number', { decimalPlaces : 4 });
    

    就是这样:)

    【讨论】:

      【解决方案2】:

      试试这个:这将为您提供所需的answer

      Fiddle

      希望对你有帮助

      HTML:

      <input type="text"  data-m-dec="4" class="number">
      

      Jquery:

        $(".number").autoNumeric();
      

      【讨论】:

        【解决方案3】:

        使用.toFixed(4);

        所以,是这样的:

        var curVal = document.activeElement.value;
        curVal = curVal.toFixed(4);
        

        【讨论】:

          猜你喜欢
          • 2013-11-21
          • 2019-09-02
          • 1970-01-01
          • 1970-01-01
          • 2014-04-25
          • 1970-01-01
          • 2015-01-18
          • 1970-01-01
          • 2018-04-27
          相关资源
          最近更新 更多