我在表单上有数字字段,用户偶尔可以键入带小数位的十进制值,但一侧则没有值。 即要输入的预期值可以是5或5.00 但有时用户可以输入.5或5。 因此,在这种情况下,如果它们在小数点后保留了值,我想在值上加上/追加0.5,或者如果他们在小数点后保留了值而我想添加/加上5.00
.5 => 0.5
5. => 5.00
理想情况下,输入值将在onBlur或用户单击/制表符远离该字段或页面上其他任何位置时更新。我对此的快速尝试如下(未试用)
$('input').on('blur', function () {
var currentValue = $(this).val();
var splitNumber = currentValue.split('.');
var beforeDecimal = splitNumber[0];
var afterDecimal = splitNumber[1];
if (beforeDecimal.length < 1)
{
//add one zero before decimal
}
if (afterDecimal.length < 1)
{
//add two zeros after decimal
}
});
答案 0 :(得分:2)
相反,您可以只使用parseFloat
和toFixed
的组合
parseFloat('.5') --> 0.5
parseFloat('5.') --> 5
$('input').on('blur', function() {
let value = this.value;
if(!isNaN(value)) {
let parsedValue = parseFloat(value);
$('.output').text(parsedValue.toFixed(2));
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<input type="text" />
<span>Output: </span>
<span class="output">
</span>
答案 1 :(得分:1)
以下是一个可以帮助您的示例:
"gremlin": "^3.2.9"