【问题标题】:Dynamic floating decimal point in Javascript [closed]Javascript中的动态浮点小数点[关闭]
【发布时间】:2018-01-06 09:33:50
【问题描述】:

我正在用 javascript 创建一个总帐应用程序,并希望将一个数字动态移动到小数点后两位作为该数字的输入。 当有人开始在 HTML 输入文本字段中输入数字时应该会发生这种情况;我希望它像 onKeyUp 或 onKeyPress 事件一样工作。

例子:

  1. 我输入“1”,输出将是“0.01”
  2. 我输入“12”,输出将是“0.12”
  3. 我输入“123”,输出将是“1.23”
  4. 我输入“1234”,输出将是“12.34”

我已经浏览过 jquery、mathjs,但还没有找到。

谁能给我一些指导?

提前谢谢你!

【问题讨论】:

  • 当有人键入数字时,您希望它在 HTML 文本框中动态完成吗?
  • 这是一道基础数学题,与 JavaSciprt、IMO 无关。
  • 嗯...10.01 之间的数学关系是什么?找出这一点,你就完成了。
  • 你的问题是如何除以100?
  • @AakashVerma 是的,当有人键入数字时在 HTML 文本框中动态完成 :)

标签: javascript jquery mathjs


【解决方案1】:

$(document).ready(function() {
  var value = '';
  $('input').on('keyup', function(e) {
    if (e.which != 8 && isNaN(String.fromCharCode(e.which))) {
      e.preventDefault();
      return;
    }
    if ($(this).val() == 0.00) value = '';
    if (e.keyCode == 8) {
      value = value.slice(0, -1)
    } else {
      value += e.key
    };
    var sss = (value / 100).toFixed(2);
    if (sss == "0.00")
      $(this).val('');
    else
      $(this).val(sss);
  })
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type=number>

【讨论】:

  • 这正是我需要的和很棒的代码。非常感谢!! :D
【解决方案2】:

谁能给我一些指导?

只需将输入除以 100

var input = "1";
var output = input/100; //0.01

【讨论】:

  • 请解释否决票。
  • 感谢您的回复!我想要更多类似于 onKeyUp 或 onKeyPress 事件的内容。
【解决方案3】:

var a = document.getElementById('inp');
document.getElementById("btn").addEventListener('click',function(){
document.getElementById('opt').innerHTML = "output: " + (a.value/100)
})
<input id='inp' type="number" />
<button id='btn'>click</button>
<div id='opt'>output:  </div>

【讨论】:

  • 这几乎正是我所需要的!但是,当我在同一个文本框中键入某些内容时,我希望它能够工作。这可能吗?
猜你喜欢
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
  • 2015-07-22
  • 1970-01-01
  • 2011-03-10
  • 2012-08-21
  • 1970-01-01
  • 2021-11-06
相关资源
最近更新 更多