将字符串转换为整数,但正在删除前面的零 - 向上扩展

时间:2013-11-08 14:54:23

标签: java groovy geb

此问题已得到解答,请关闭它... 谢谢你的澄清!!

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

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

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

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

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

2 个答案:

答案 0 :(得分:3)

整数没有前导零(正如在其他问题中所说的那样)

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

def ref = '0000002443'

def refPlusOne = "${ref.toInteger() + 1}".padLeft( ref.length(), '0' )

答案 1 :(得分:2)

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

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

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