我使用JavaScript。我想只输入数字和小数4位数。 但我尝试十进制只有4位不工作。
ASP
<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
提前致谢。 :)
答案 0 :(得分:0)
使用.toFixed(4);
所以,像这样:
var curVal = document.activeElement.value;
curVal = curVal.toFixed(4);
答案 1 :(得分:0)
试试这个:哪个会为您提供所需的answer
希望有所帮助
<强> HTML 强>
<input type="text" data-m-dec="4" class="number">
<强> Jquery的:强>
$(".number").autoNumeric();
答案 2 :(得分:0)
您可以使用具有零依赖关系(https://github.com/autoNumeric/autoNumeric/)的真棒AutoNumeric库。
为了得到一个带有4位小数的数字,你可以这样做:
const aNElement = new AutoNumeric('.number', { decimalPlaces : 4 });
就是这样:))