我有一个代码:
def a = 2111 - 1112
//which calculates a as 999.
Run Code Online (Sandbox Code Playgroud)
但是在上面的结果中我需要a成为0999,即我需要前导零a.我怎么能这样做?
似乎应该有一个很多Groovy-er解决方案,但这是我能想到的最好的:
Integer.metaClass.sub = {
def padTo = Math.max(delegate.toString().length(), it.toString().length())
return (delegate - it).toString().padLeft(padTo, '0')
}
println 2111.sub(1112)
Run Code Online (Sandbox Code Playgroud)
我怀疑你是否想要真正改变" - "运算符的行为,但如果你这样做,我认为如果改变了String的metaClass.subtract并使用"2111" - "1112"会更好
| 归档时间: |
|
| 查看次数: |
3442 次 |
| 最近记录: |