我是Groovy的新手。当我想要将某些整数转换为十六进制字符串时,我尝试过这样的代码:在Groovy中将整数转换为十六进制字符串
theNumber.toString(16)
与我在JavaScript中所做的一样。 (Groovy就像另一个脚本语言看起来类似于Java,对吧?)
但上面的代码不工作,因为我的预期。当数字非常大时,结果是正确的;但大多数时候,它只是返回16.
println(256.toString(16)) // 16
println(36893488147419103232.toString(16)) // 20000000000000000
我很困惑为什么Groovy行为这么奇怪。任何人都可以帮我解释一下吗?而且,将整数转换为十六进制字符串的最佳方法是什么?
谢谢。
谢谢您的转换解决方案。另一个问题是为什么'256.toString(16)'返回'16'而不是'100'? – tsh