-3

この質問には回答がありましたので、閉じてください... 説明ありがとうございます!!

上記の質問を見ましたが、問題を解決する前に検討すべきユースケースがあります。

注文を出すと、システムが次のような参照番号を生成する状況があります: 0000002443 その番号を文字列として保存します。システムが注文を送信すると、2 つの伝票が送信されます。1 つは上記の参照番号の請求書として、もう 1 つは参照番号 0000002444 の発注書として

最初の参照番号 (つまり 0000002443) を整数として保存し、前のゼロを保持し、+1 を追加して PO 参照番号 (つまり 0000002444) として保存し、後で注文を確認できるようにする必要があります。

最初の参照番号を文字列として保持すると、参照番号に 1 を追加して PO 参照番号を取得することはできません。

それはフォローアップの質問です: 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

簡単に言えば、整数には先行ゼロの数がありません。10 進数、16 進数、またはそのようなものであるかどうかについての情報さえありません。それはただの整数です。

本当に既存のデザインに従う必要がある場合は、それを整数として解析し、1 を追加してから、元の長さに戻すために必要な数のゼロを追加することをお勧めします。

正直なところ、それが本当に数値であることを意味している場合は、文字列を使用するのではなく、数値として保存した方がよいでしょう.

于 2013-11-08T14:57:14.323 に答える