加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在Groovy中将整数转换为十六进制字符串

发布时间:2020-12-14 16:20:57 所属栏目:大数据 来源:网络整理
导读:我是Groovy的新手.当我想将一些整数转换为十六进制字符串时,我尝试过这样的代码: theNumber.toString(16) 正如我在JavaScript中所做的那样. (Groovy就像另一种脚本语言看起来类似于Java,对吧?) 但上面的代码不能像我预期的那样工作.当数字非常大时,结果是
我是Groovy的新手.当我想将一些整数转换为十六进制字符串时,我尝试过这样的代码:

theNumber.toString(16)

正如我在JavaScript中所做的那样. (Groovy就像另一种脚本语言看起来类似于Java,对吧?)

但上面的代码不能像我预期的那样工作.当数字非常大时,结果是正确的;但大多数时候,它只返回16.

println(256.toString(16)) // 16
println(36893488147419103232.toString(16)) // 20000000000000000

我很困惑为什么Groovy的行为如此奇怪.有人能帮我解释一下吗?并且,将整数转换为十六进制字符串的最佳方法是什么?

谢谢.

解决方法

Java不是JavaScript.
Groovy是为Java平台构建的语言.
Java代码也可以直接与Groovy一起使用.所以你可以使用.toHexString()

Integer.toHexString(256) 
Long.toHexString(28562)

对于大于long的最大值(9223372036854775807)的数字,可以使用BigInteger数据类型.

String bigInt = new BigInteger("36893488147419103232").toString(16);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读