Spec-Zone.ru › Kotlin 2

hexToUInt

kotlin-stdlib/kotlin.text/hexToUInt

Начиная с Kotlin: 2.2

inline fun String.hexToUInt(format: HexFormat = HexFormat.Default): UInt

Разбирает значение UInt из этой строки, используя указанный формат.

Строка должна соответствовать структуре, определённой форматом. Обратите внимание, что на разбор числового значения влияет только свойство HexFormat.number экземпляра формата.

Входная строка должна начинаться с префикса и заканчиваться суффиксом, заданными в свойстве HexFormat.number. Кроме того, между ними должна находиться как минимум одна шестнадцатеричная цифра. Если количество шестнадцатеричных цифр превышает восемь, лишние ведущие цифры должны быть нулями. Это гарантирует, что значение, представленное шестнадцатеричными цифрами, помещается в 32-разрядный UInt. Разбор выполняется без учёта регистра, в том числе для шестнадцатеричных цифр, префикса и суффикса.

Сведения о доступных параметрах формата и их влиянии на разбор см. в разделе HexFormat.NumberHexFormat.

Возвращает

значение UInt, полученное разбором этой строки.

Параметры

format

объект HexFormat, используемый для разбора; по умолчанию — HexFormat.Default.

Выбрасывает

IllegalArgumentException

если эта строка не соответствует указанному формату или если шестнадцатеричные цифры представляют значение, которое не помещается в UInt.

Примеры

import kotlin.test.*

fun main() { 
   //sampleStart 
   // Using the default format
println("3a".hexToInt()) // 58

// Parsing is case-insensitive
println("3A".hexToInt()) // 58

// Up to 8 hexadecimal digits can fit into an Int
println("ffffffff".hexToInt()) // -1

// Excess leading hexadecimal digits must be zeros
println("00ffffffff".hexToInt()) // -1
// "0100000000".hexToInt() // will fail with IllegalArgumentException

// Parsing an UInt results in the unsigned version of the same value
// In this case, (-1).toUInt() = UInt.MAX_VALUE
println("ffffffff".hexToULong()) // 4294967295

// Using a custom format
val format = HexFormat { number.prefix = "0x" }
println("0x3A".hexToInt(format)) // 58

// Parsing fails if the input string does not conform to the specified format.
// In this case, the prefix is not present.
// "3A".hexToInt(format) // will fail with IllegalArgumentException 
   //sampleEnd
}

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.text/hex-to-u-int.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API