为了账号安全,请及时绑定邮箱和手机立即绑定

每个 JQuery / Javascript 数字格式都不起作用,解析超出范围

每个 JQuery / Javascript 数字格式都不起作用,解析超出范围

侃侃无极 2023-07-14 10:25:54
我对 JS/jQuery 很陌生,我已经坚持了好几天了,到目前为止还没有解决方案有效。此处的调试代码: http: //jsfiddle.net/qgw4ckmz/1我已经尝试了大多数javascript数字格式,但它们在我的情况下都不起作用,我试图实现的是千位分隔符输出,例如:1000000成为1,000,000、1000成为1,000等。如果数字为100000或以下,但在1000000之后,它工作正常,它在浏览器控制台上显示错误:The specified value "1,000,000" cannot be parsed, or is out of range.我尝试了这个,但不起作用(只能解析最多 100.000 ):<script type="text/javascript">$(document).ready(function(){var totalsum = 0;    $(".barangx").each(function(){        var inputval = $(this).val();        if($.isNumeric(inputval)){            totalsum +=parseFloat(inputval);        }    });        $('.totalx').val(totalsum.toLocaleString('id-ID'));});我也尝试了这里提到的代码,但结果是相同的(只能解析最多 100.000 ):http://www.mredkj.com/javascript/numberFormat.html<script type="text/javascript">$(document).ready(function(){    function addCommas(nStr) {    nStr += '';    x = nStr.split('.');    x1 = x[0];    x2 = x.length > 1 ? '.' + x[1] : '';    var rgx = /(\d+)(\d{3})/;    while (rgx.test(x1)) {            x1 = x1.replace(rgx, '$1' + ',' + '$2');    }    return x1 + x2;}    var totalsum = 0;    $(".barangx").each(function(){        var inputval = $(this).val();        if($.isNumeric(inputval)){            totalsum +=parseFloat(inputval);        }    });    totalsum = addCommas(totalsum);    $('.totalx').val(totalsum);});</script>完整代码<!DOCTYPE html><html><body><label>Val 1</label><div class="ml-auto"><input type="number" value="10000" class="input barangx" readonly step="0.01" id="id_form-0-total"></div><label>Val 2 - Change this fieild to 1000000</label><div><input type="number" value="10000" class="input barangx" step="0.01"></div><label>Val 1 + Val 2=</label><input type="number" name="total" step="0.01" class="input totalx" readonly required id="id_total">
查看完整描述

1 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

从目标输入元素中删除 type="number"



查看完整回答
反对 回复 2023-07-14
  • 1 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信