che*_*eX3 3 groovy string.format
下面的代码打印response以空格开头的变量.
前的要被打印的空格数response变量相当于所述差itemNumber和examineeResponses.
现在,是否可以"0"使用String.format 将字符串填充为零()而不是空格?
def converted = examineeResponses+String.format("%${itemNumber - 1}s", response)
Run Code Online (Sandbox Code Playgroud)
使用上述代码的示例:
examineeResponses = '1' // String
itemNumber = 10 //int
response = '3' // String
Run Code Online (Sandbox Code Playgroud)
输出:
" 3"
Run Code Online (Sandbox Code Playgroud)
期望的输出:
"000000003"
Run Code Online (Sandbox Code Playgroud)
我相信你可以做到这一点,但要理解你的问题有点难:
int itemNumber = 10
String examineeResponses = '1'
char response = '3'
"$response".padLeft( itemNumber - examineeResponses.length(), '0' )
Run Code Online (Sandbox Code Playgroud)
虽然我怀疑(你没有说)你只是想要它打印itemNumbers字符宽.如果是这种情况,您只需要:
"$response".padLeft( itemNumber, '0' )
Run Code Online (Sandbox Code Playgroud)
而你根本不需要examineeResponses.
我在你的问题中挣扎的一点是我不知道examineeResponses.length()应该做什么(除了抛出错误).另一个是我不确定这是你想要做的;-)
你不能用String.formatJava或Groovy来填充字符串,你只能填零数字
| 归档时间: |
|
| 查看次数: |
19322 次 |
| 最近记录: |