背景:
from表单填写商品价格时,需要写成两位小数类型,如 2.00 元;
实现:
//form表单
<div class="form-line"><lable><i>*</i>价格:</lable><input type="number" class="number" name="price" min="0.01" step="0.01"><div class="error-msg"></div></div>
//jquery
$(".number").change(function () {var val = $(this).val();$(this).val(toDecimal2(val));});function toDecimal2(x) {var f = parseFloat(x);if (isNaN(f)) {return false;}var f = Math.round(x*100)/100;var s = f.toString();var rs = s.indexOf('.');if (rs < 0) {rs = s.length;s += '.';}while (s.length <= rs + 2) {s += '0';}return s;}
即可实现;
扩展:
实现保留一位小数,可根据以上代码做微调整;
实现:
//form表单
<div class="form-line"><lable><i>*</i>版本:</lable><input type="number" class="version" name="version" min="0.1" step="0.1"><div class="error-msg"></div>
</div>
//jquery
$(".version").change(function () {var val = $(this).val();$(this).val(toDecimal1(val));});function toDecimal1(x) {var f = parseFloat(x);if (isNaN(f)) {return false;}var f = Math.round(x*10)/10;var s = f.toString();var rs = s.indexOf('.');if (rs < 0) {rs = s.length;s += '.';}while (s.length <= rs + 1) {s += '0';}return s;}
完成。