Javascript 中的动态浮动小数点
Dynamic floating decimal point in Javascript
我正在 javascript 中创建一个总帐应用程序,并希望将一个数字动态移动到小数点后两位作为该数字的输入。
当有人开始在 HTML 输入文本字段中输入数字时,应该会发生这种情况;我希望它像 onKeyUp 或 onKeyPress 事件一样工作。
示例:
- 我输入“1”,输出将是“0.01”
- 我输入“12”,输出将是“0.12”
- 我输入“123”,输出将是“1.23”
- 我输入“1234”,输出将是“12.34”
我查看了 jquery、mathjs,但还没有找到任何东西。
有人可以给我一些指导吗?
提前致谢!
Can anybody please give me some guidance?
只需将输入除以 100
var input = "1";
var output = input/100; //0.01
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>
$(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>
我正在 javascript 中创建一个总帐应用程序,并希望将一个数字动态移动到小数点后两位作为该数字的输入。 当有人开始在 HTML 输入文本字段中输入数字时,应该会发生这种情况;我希望它像 onKeyUp 或 onKeyPress 事件一样工作。
示例:
- 我输入“1”,输出将是“0.01”
- 我输入“12”,输出将是“0.12”
- 我输入“123”,输出将是“1.23”
- 我输入“1234”,输出将是“12.34”
我查看了 jquery、mathjs,但还没有找到任何东西。
有人可以给我一些指导吗?
提前致谢!
Can anybody please give me some guidance?
只需将输入除以 100
var input = "1";
var output = input/100; //0.01
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>
$(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>