KotlinのJavaのInteger.toHexString()
に似た関数を探しています。組み込みのものはありますか、それともInt
をString
に変換する関数を手動で記述する必要がありますか?
Kotlin 1.0.6に関しては、_kotlin-stdlib
_にはこのための関数がなく、変換を行うには_Java.lang.*
_クラスを使用する必要があります。
_val hexString = Java.lang.Integer.toHexString(i)
_
しかし、現在のKotlinソース 含む この関数:
_@SinceKotlin("1.1")
@kotlin.internal.InlineOnly
public inline fun Int.toString(radix: Int): String =
Java.lang.Integer.toString(this, checkRadix(radix))
_
一見、Kotlin 1.1 stdlibには、カスタム基数で数値を解析するためのものを含め、他の多くのオプションと一緒に追加される可能性があります(ただし、hexには特別な機能はありません)。次に、このように呼び出して16進数の文字列を取得できます。
_myInt.toString(16)
_
ただし、これはInteger.toHexString()
とは異なります。後者は符号なし変換を実行するためです。
_println((-50).toString(16)) // -32
println(Integer.toHexString(-50)) // ffffffce
_
次のように簡単に実行できます:"%x".format(1234)
10(hex)未満のバイトの前にゼロを追加する必要がある場合、たとえば文字列-"0E"が必要な場合は、"%02x".format(14)
を使用します