当我想创建一些转移交易代码时,我在grails中遇到了问题。
def beforeInsert(){
Integer count= Transfer.count()+1
Integer width= transactionMaster.width
String c = sprintf('%05d',count)
number = transactionMaster.code+"/"+c
}
上面的代码特别是变量号,会得到如下结果:00007。
现在的问题是,如何使'%05'根据可变宽度变化?
例如,如果宽度为5,则数字将给出结果:00007 如果宽度为2,则数字将给出结果:07 如果宽度为10,则数字将给出结果:0000000007
希望有人可以提供帮助,如果您有任何解决方案,可以发邮件给我:medmodest@gmail.com
我很少打开这个网站,谢谢:)
答案 0 :(得分:2)
这是一个很常见的问题,你可以使用groovy GString。
而不是:
...
String c = sprintf('%05d',count)
...
使用此:
...
String c = sprintf("%0${width}d",count)
...
希望这有帮助