3

以下のコードは、response変数の前にスペースを付けて出力します。

変数の前に表示されるスペースの数は、とresponseの差に相当します。itemNumberexamineeResponses

"0"String.format を使用して、スペースの代わりにゼロ ( ) を文字列に埋め込むことは可能ですか?

def converted = examineeResponses+String.format("%${itemNumber - 1}s", response)

上記のコードを使用した例:

examineeResponses = '1' // String
itemNumber = 10 //int
response = '3' // String

出力:

"        3"

望ましい出力:

"000000003"
4

2 に答える 2

9

私はあなたがこれを行うことができると信じていますが、あなたの質問を理解するのは少し難しいです:

int itemNumber = 10
String examineeResponses = '1'
char response = '3'

"$response".padLeft( itemNumber - examineeResponses.length(), '0' )

itemNumbers私は(あなたは言わないで)、文字を幅広に印刷したいだけだと思いますが。この場合は、次のものが必要です。

"$response".padLeft( itemNumber, '0' )

そして、あなたはまったく必要ありませんexamineeResponses

examineeResponses.length()あなたの質問で私が苦労していることの 1 つは、 (エラーをスローする以外に)何をすべきかわからないことです。もう1つは、これがあなたのやりたいことかどうかわかりません;-)

Java または Groovy で文字列をゼロで埋めることはできません。ゼロString.formatで埋められるのは数値のみです。

于 2012-10-05T08:24:12.483 に答える