【问题标题】:text box decimal format fixing文本框十进制格式修复
【发布时间】:2012-04-04 15:59:33
【问题描述】:

我有一个简单的文本框,我正在输入数字值。我想将数字值格式化为两位小数。就像我在文本框中输入 10 并且在按下输入或离开文本框后它应该转换为 10.00。请告诉我是否有可能使用文本框的 javascript 或 vb.net 或 asp.net 属性来执行此操作。我已经在 J​​avaScript 中尝试过按 Enter 键或 Tab 键,但每次都将其转换为 10.00当我按 enter 或 tab.here 是代码

//Make Formatting with .00


document.onkeydown = function disableKeys() {

    if( typeof event != 'undefined' ) {
      if( (event.keyCode == 9) ||
          (event.keyCode == 13) ) {
          var a;
          var b;
          a=parseFloat(document.getElementById('txtpkrusd').value,10);
          b=parseFloat(document.getElementById('txtRatelb').value,10);
          document.getElementById('txtpkrusd').value=formatNumber(a);         
          document.getElementById('txtRatelb').value=formatNumber(b);         

      }
    };
};

【问题讨论】:

  • 要格式化你只需要 .tofixed 这样的数字 [code] var num = 2.4; alert(num.toFixed(2)); // 2.40 ;希望这有助于欢呼

标签: javascript vb.net textbox decimal


【解决方案1】:
var num = 10;

var result = num.toFixed(2);  //will give 10.00

Examples

【讨论】:

  • 先生有什么办法可以修复 Enter 或 tab 事件的文本框,因为当我按下 Enter 时,它会使用 toFixed 函数格式化页面上的所有文本框
  • @user1220667 您好,将它用于您的关键事件,这应该会有所帮助:stackoverflow.com/questions/2335553/… - 请参阅下面的答案,我已经为您的输入键包含了 js fiddle 以及欢呼!
  • @user1220667:您已将 keydown 事件附加到文档,而不是附加到文本框,如 Tats_innit 所示。
  • @dhinesh 欢呼,伙计,哈哈,我实际上为下面的家伙做了一切,哈哈 - 哦,很快就该睡觉了:P,干杯!
【解决方案2】:

你好希望这会有所帮助:(除了我上面的评论,即舍入使用 .toFixed(num))

demo(输入数字并按回车):http://jsfiddle.net/6wG26/5/ OR Enter 和 Tab 键都在这里 http://jsfiddle.net/Mtw7c/7/

请;如果这不是你想要的,让我删除我的帖子;但这会对你有所帮助。

由于您编写了很多代码,因此我在这里制作了分叉示例:

**HTML:**

<input type="text" name="one" class="currency">


**JQuery code:**

    (function($) {
        $.fn.currencyFormat = function() {
            this.each( function( i ) {
                $(this).change( function( e ){
                    if( isNaN( parseFloat( this.value ) ) ) return;
                    this.value = parseFloat(this.value).toFixed(2);
                });
            });
            return this; //for chaining
        }
    })( jQuery );


    $( function() {
        $('.currency').currencyFormat();
    });​

或此处输入键和 Tab 键:http://jsfiddle.net/Mtw7c/7/

 $('.currency').live('keydown', function(e) { 
        var key = e.keyCode || e.which; 

          if (key== 9 || key == 13) { 
            e.preventDefault(); 
              if( isNaN( parseFloat( this.value ) ) ) return;
                    this.value = parseFloat(this.value).toFixed(2);
            // call custom function here
          }         

    });

​

希望这会有所帮助,如果您阅读以下链接会很好 - 样本取自此处,但为您制作样本,In jQuery, what's the best way of formatting a number to 2 decimal places?

您始终可以对仅数字文本框和其他修改进行验证,希望这有助于队友,干杯!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-07
    • 1970-01-01
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    相关资源
    最近更新 更多