使用JS设置input框输入时保留两位小数

业务需求:

当依次输入 1 2 3 4时,
效果:0.01 -> 0.12 -> 1.23 -> 12.34

当依次输入 1 2 3 . 4 5 6 时,
效果:0.01 ->0.12 -> 1.23 -> 123. -> 123.4 -> 123.45 -> 1234.56

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <title></title>
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div>
  <input id="Amount" type="text"/>
</div>
</body>
</html>

<script language="JavaScript">
    //input amount js
    $(function () {
        //$("#Amount").focus();
        $("#Amount").on('input', function (e) {
            var str = $(this).val();
            str = str.replace(/[^\d.]/g, '');
            var arr = str.split('.');
            var res = arr.join("").replace(/^0*/g, '');
            console.log(e);
            console.log(e.originalEvent);
            console.log(e.originalEvent.data)
            if (e.originalEvent.data != '.') {
                var lst = arr[arr.length-1];
                var num = (arr.length != 1 && lst.length == 1 && e.originalEvent.data)? 1:2;
                while (res.length < num+1) {
                    res = "0" + res;
                }
                res = res.substring(0, res.length - num) + '.' + res.substring(res.length - num, res.length);
            }else if(e.originalEvent.data == '.'){
                res += (!res.length)? '0.':'.';
            }
            $(this).val(res);
        })
    })
</script>

MVC中@Html.EditorFor()设置方式链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值