我對 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">
每個 JQuery / Javascript 數字格式都不起作用,解析超出范圍
侃侃無極
2023-07-14 10:25:54