在小数点Java前后添加值

时间:2018-08-14 22:07:15

标签: javascript

我在表单上有数字字段,用户偶尔可以键入带小数位的十进制值,但一侧则没有值。 即要输入的预期值可以是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
  }

});

2 个答案:

答案 0 :(得分:2)

相反,您可以只使用parseFloattoFixed的组合

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"