如何将 00112014000002000003300008 加1?添加1后,我需要 00112014000002000003300009 。
我正在尝试删除前两个零。我的代码如下所示
var lastrow = $('#lastrow');
var item_no = +lastrow.find('.item_no').text();
var item_no_to_increase = item_no.toString().substring(2);
console.log(item_no_to_increase);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="lastrow">
<p class="item_no">00112014000002000003300008</p>
</div>
我想在删除零后加1。但是我得到控制台输出 12014000002e + 23
答案 0 :(得分:2)
您从DOM检索的值已经是一个字符串,但是您可以通过使用+
前面的+lastrow
将其强制为数字。摆脱掉+
并抛弃.toString()
中的item_no.toString().substring(2);
此外,JavaScript中的最大数量为9007199254740991
。因此,您必须在数字的一小部分上做一些加法运算,然后将其作为字符串重新加入。
这是一篇很棒的文章,展示了如何处理大量数字:
还有一个库可以为您完成所有繁重的工作:
https://github.com/niinpatel/addVeryLargeNumbers
该示例是一个非常基本的示例,如果在1
中添加9
,显然将无法正常工作。
var number = '00112014000002000003300008';
function incrementByOne(number) {
var start = number.slice(0, number.length -1);
var end = parseInt(number.slice(number.length -1));
end++;
console.log(start + end);
}
incrementByOne(number);
var lastrow = $('#lastrow');
var item_no = lastrow.find('.item_no').text();
console.log(typeof item_no, item_no);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="lastrow">
<p class="item_no">00112014000002000003300008</p>
</div>