hex To Short
Начиная с Kotlin: 2.2
fun String.hexToShort(format: HexFormat = HexFormat.Default): Short
Анализирует значение Short из этой строки, используя указанный формат.
Строка должна соответствовать структуре, определённой форматом. Обратите внимание, что на анализ числового значения влияет только свойство HexFormat.number экземпляра формата.
Входная строка должна начинаться с префикса и заканчиваться суффиксом, определёнными в свойстве HexFormat.number. Между ними также должна находиться как минимум одна шестнадцатеричная цифра. Если количество шестнадцатеричных цифр превышает четыре, все лишние ведущие цифры должны быть нулями. Это гарантирует, что значение, представленное шестнадцатеричными цифрами, помещается в 16-битный Short. Анализ выполняется без учёта регистра, в том числе для шестнадцатеричных цифр, префикса и суффикса.
Подробные сведения о доступных параметрах формата и их влиянии на анализ см. в HexFormat.NumberHexFormat.
Возвращаемое значение
значение Short, полученное при анализе этой строки.
Параметры
HexFormat, используемый для анализа; по умолчанию — HexFormat.Default.
Исключения
если эта строка не соответствует указанному формату или если шестнадцатеричные цифры представляют значение, которое не помещается в Short.
Примеры
import kotlin.test.*
fun main() {
//sampleStart
// Using the default format
println("3a".hexToShort()) // 58
// Parsing is case-insensitive
println("3A".hexToShort()) // 58
// Up to 4 hexadecimal digits can fit into a Short
println("ffff".hexToShort()) // -1
// Excess leading hexadecimal digits must be zeros
println("00ffff".hexToShort()) // -1
// "010000".hexToShort() // will fail with IllegalArgumentException
// Parsing an UShort results in the unsigned version of the same value
// In this case, (-1).toUShort() = UShort.MAX_VALUE
println("ffff".hexToULong()) // 65535
// Using a custom format
val format = HexFormat { number.prefix = "0x" }
println("0x3A".hexToShort(format)) // 58
// Parsing fails if the input string does not conform to the specified format.
// In this case, the prefix is not present.
// "3A".hexToShort(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-short.html