我是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