System.currentTimeMillis()
возвращает Long
, поэтому toByteArray
должно быть реализовано для Long
следующим образом:
fun Long.toByteArray(): ByteArray {
val result = ByteArray(8)
result[7] = (this and 0xFF).toByte()
result[6] = ((this ushr 8) and 0xFF).toByte()
result[5] = ((this ushr 16) and 0xFF).toByte()
result[4] = ((this ushr 24) and 0xFF).toByte()
result[3] = ((this ushr 32) and 0xFF).toByte()
result[2] = ((this ushr 40) and 0xFF).toByte()
result[1] = ((this ushr 48) and 0xFF).toByte()
result[0] = ((this ushr 56) and 0xFF).toByte()
return result
}
Если вам нужно это для использования беззнаковых байтов:
fun Long.toByteArray(): UByteArray {
val result = UByteArray(8)
result[7] = (this and 0xFF).toUByte()
result[6] = ((this ushr 8) and 0xFF).toUByte()
result[5] = ((this ushr 16) and 0xFF).toUByte()
result[4] = ((this ushr 24) and 0xFF).toUByte()
result[3] = ((this ushr 32) and 0xFF).toUByte()
result[2] = ((this ushr 40) and 0xFF).toUByte()
result[1] = ((this ushr 48) and 0xFF).toUByte()
result[0] = ((this ushr 56) and 0xFF).toUByte()
return result
}
Это можно использовать как в следующем примере:
fun main() {
val timeUTC = System.currentTimeMillis().toByteArray()
println(timeUTC.map { byte -> byte.toString(16).toUpperCase() }.joinToString(""))
}
То, что Вы хотите, должно получить значение, когда ползунок имеет остановку, не во время слайда. На основе моего опыта событие слайда получит Вас предыдущее положение ползунка. Остановка даст Вам значение ползунка, куда пользователь перемещает его в.
$("#slider").slider({
range: 'min',
min: 0,
max: 40,
value: 1,
step: 10,
slide : function(event, ui){
console.log("previous value:"+ $(this).slider('option', 'value'));
},
stop: function(event, ui){
console.log("Current value:"+ $(this).slider('option', 'value'));
}
});