我正在寻找一个类似于 Kotlin 的 Java 的 Integer.toHexString()函数。是否有内置的东西,或者我们必须手动编写一个函数来转换 Int到 String?
Integer.toHexString()
Int
String
您仍然可以通过调用 java.lang.Integer上的静态函数来使用 Java 转换:
java.lang.Integer
val hexString = java.lang.Integer.toHexString(i)
而且,从 Kotlin 1.1开始,Kotlin 标准库中也有一个转换函数:
fun Int.toString(radix: Int): String 返回指定 radix中此 Int值的字符串表示形式。
fun Int.toString(radix: Int): String
返回指定 radix中此 Int值的字符串表示形式。
radix
但是,请注意 Integer.toHexString()中的 这次还是不一样,因为后者执行无符号转换:
println((-50).toString(16)) // -32 println(Integer.toHexString(-50)) // ffffffce
但是在实验 Kotlin 未签名类型中,现在可以从负数无符号转换中得到与 Integer.toHexString(-50)相同的结果:
Integer.toHexString(-50)
println((-50).toUInt().toString(16)) // ffffffce
你可以这样做: "%x".format(1234)
"%x".format(1234)
如果你需要在小于10(十六进制)的字节前添加0,例如你需要字符串“0E”,然后使用: "%02x".format(14)
"%02x".format(14)