-3

这个问题已经得到解答,所以请关闭它......感谢您的澄清!

我查看了上面的问题,但是在关闭问题之前我们应该考虑一个用例:

我有一种情况,我提出了一个订单,系统生成一个参考编号:0000002443 我将该编号存储为一个字符串。当系统发出订单时,它会发送两个文件。一个作为带有上述参考编号的申请,另一个作为带有参考的采购订单:0000002444

我需要能够将第一个参考号(即 0000002443)存储为保持前面的零的整数,并添加 +1 并存储为采购订单参考号(即 0000002444)以稍后验证订单。

如果我将第一个参考号保留为字符串,那么我将无法在参考号上加 1 以获取采购订单参考号。

这是一个后续问题: https ://stackoverflow.com/questions/15025136/converting-string-to-integer-but-preceding-zero-is-being-removed

4

2 回答 2

3

整数没有前导零(正如它在另一个问题中所说的那样)

您需要将其转换为 int,添加一个,然后将其填充回 String:

def ref = '0000002443'

def refPlusOne = "${ref.toInteger() + 1}".padLeft( ref.length(), '0' )
于 2013-11-08T14:57:54.753 回答
2

简而言之,整数没有多个前导零。它甚至没有关于它是十进制、十六进制还是类似的信息。它只是一个整数。

如果您确实需要遵循现有设计,我建议您将其解析为整数,加一,然后用尽可能多的零重新填充以恢复到原始长度。

老实说,如果它真的只是一个数字,那么将它存储为数字而不是使用字符串会更好。

于 2013-11-08T14:57:14.323 回答