Spec-Zone.ru › Kotlin 2

minLength

kotlin-stdlib/kotlin.text/HexFormat/NumberHexFormat/minLength

Начиная с Kotlin: 2.2

val minLength: Int

Задает минимальное количество шестнадцатеричных цифр, используемых для представления числового значения, 1 по умолчанию.

Шестнадцатеричное представление значения вычисляется путем преобразования каждой четырехбитовой группы его двоичного представления в соответствующую шестнадцатеричную цифру, начиная со старших битов.

При форматировании:

  • Если это значение меньше длины шестнадцатеричного представления: - Если removeLeadingZeros равно true, начальные нули удаляются до тех пор, пока длина не станет равна minLength. - Если removeLeadingZeros равно false, представление остается без изменений, так как начальные нули не удаляются.

  • Если это значение больше длины шестнадцатеричного представления, в начало представления добавляются нули, чтобы его длина достигла указанного значения minLength.

  • Если это значение равно длине шестнадцатеричного представления, представление остается без изменений.

При разборе это значение игнорируется. Однако входная строка должна содержать хотя бы одну шестнадцатеричную цифру. Если количество шестнадцатеричных цифр превышает емкость разбираемого типа с учетом его разрядности, все лишние старшие цифры должны быть нулями.

Примеры

import kotlin.test.*

fun main() { 
   //sampleStart 
   // By default, minLength is 1 and removeLeadingZeros is false.
println(0x3a.toHexString()) // 0000003a

// Specifying a minLength shorter than the hex representation with removeLeadingZeros set to false.
println(0x3a.toHexString(HexFormat { number.minLength = 4 })) // 0000003a

// Specifying a minLength shorter than the hex representation with removeLeadingZeros set to true.
val shorterLengthFormat = HexFormat {
    number.removeLeadingZeros = true
    number.minLength = 4
}
println(0x3a.toHexString(shorterLengthFormat)) // 003a
println(0xff80ed.toHexString(shorterLengthFormat)) // ff80ed

// Specifying a minLength longer than the hex representation.
// removeLeadingZeros is ignored in this case.
val longerLengthFormat = HexFormat {
    number.removeLeadingZeros = true
    number.minLength = 12
}
println(0x3a.toHexString(longerLengthFormat)) // 00000000003a

// When parsing, minLength is ignored.
println("3a".hexToInt(longerLengthFormat)) // 58

// The number of hex digits can be greater than what can fit into the type.
println("00000000003a".hexToInt()) // 58
println("0000ffffffff".hexToInt()) // -1
// But excess leading digits must be zeros.
// "000100000000".hexToInt() // 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-format/-number-hex-format/min-length.html

Spec-Zone.ru

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