Javascript toFixed()文本字段中的简单使用/解释

Javascript toFixed()文本字段中的简单使用/解释,javascript,jquery,Javascript,Jquery,我在这里避免问这个问题,因为我知道过去很多人都这样做过。在过去的几天里,我花了一些时间试图找到一个解决方案/弄清楚toFixed()方法是如何工作的。我在这个网站上读了很多问题和其他网站的教程,但我还是不明白 我有几个类为“.entry”的文本字段。这里应该有一美元。当人们键入以下内容时(示例): 1.2 5 6.35 八, 我需要将它们更改为: 1.20 5.00 6.35 八点 换句话说,添加尾随的零。我知道这是通过toFixed()方法实现的,但我完全不知所措。我不能让它工作 我发现了一个

我在这里避免问这个问题,因为我知道过去很多人都这样做过。在过去的几天里,我花了一些时间试图找到一个解决方案/弄清楚toFixed()方法是如何工作的。我在这个网站上读了很多问题和其他网站的教程,但我还是不明白

我有几个类为“.entry”的文本字段。这里应该有一美元。当人们键入以下内容时(示例):

1.2
5
6.35
八,

我需要将它们更改为:

1.20
5.00
6.35
八点

换句话说,添加尾随的零。我知道这是通过toFixed()方法实现的,但我完全不知所措。我不能让它工作

我发现了一个脚本,它汇总了页面其他地方DIV中的所有文本字段,我注意到它使用了toFixed()方法:

我尝试在这里使用相同的代码,以便在文本字段中显示零:

$('.entry').keyup(function(){
   var str = this.value.replace(/(^\d{1,3}|\d{3})(?=(?:\d{3})+(?:$|\.))/g, '$1');
   if (str!=this.value) this.value = str; 
});
它不起作用

我不熟悉Jquery和Javascript,所以我意识到我可能遗漏了一些明显的东西。我读过的大多数教程都在代码中设置变量,然后使用“document.write”以正确的零数显示变量:

例如:

document.write( 1.1.toFixed(2) + '<br>' );
document.write(1.1.toFixed(2)+'
');
但这不是我要找的。我需要它显示在文本字段中

提前谢谢

有几件事:

  • 使用
    change
    事件代替
    keyup
    。如果您使用
    keyup
    ,则每次用户尝试键入内容时,文本都会发生变化,这是一种烦人的用户体验
  • 考虑使用类型为
    number
    输入,步骤为
    0.1
  • 考虑到这些,我会这样做:

    $('.entry').change(function(){
       // parse the typed value as a floating point number
       var num = parseFloat(this.value);
    
       // ensure there are two decimal places
       this.value = num.toFixed(2);
    });
    
    请注意,如果用户键入的内容超过两位小数,则该值将四舍五入


    示例:

    检查文档中的.val()您不能使用
    文档。在呈现页面后编写
    。它将替换全部内容。非常感谢您的脚本和提示!太棒了!:)
    
    $('.entry').change(function(){
       // parse the typed value as a floating point number
       var num = parseFloat(this.value);
    
       // ensure there are two decimal places
       this.value = num.toFixed(2);
    });