Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
kenbrueck
Level 7

Convert Int to Hex?

Is there a simple way to convert an integer to hex in Brightscript?

For example, given 255 it would return FF (or some similar form, e.g. 0xFF, 0x0000FF, etc.)
0 Kudos
5 REPLIES 5\
MSGreg
Level 7

Re: Convert Int to Hex?

Easiest way, I think, is to go through a byte array.

The following is based on the excellent libRokuDev project, from the file rdByteArray.brs
I've modified it to run faster, test before using

' * Convert an integer to a hex string *
function ConvertINTtoHEX(num as integer) as string
return rdINTtoBA(num).toHexString()
end function

' * Convert an integer to a (4 byte) roByteArray *
function fastINTtoBA(num as integer) as object
ba = CreateObject("roByteArray")
ba.setresize(4, false)

i% = num
ba[3] = i%
i% = i% / 256 : ba[2] = i% ' using % auto converts float from division to int
i% = i% / 256 : ba[1] = i% ' then assigning to bytes auto truncates (AND &h0ff)
i% = i% / 256 : ba[0] = i%
return ba
end function
0 Kudos
belltown
Level 9

Re: Convert Int to Hex?

Here's another way:


function decToHex (dec as integer) as string
hexTab = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]
hex = ""
while dec > 0
hex = hexTab [dec mod 16] + hex
dec = dec / 16
end while
if hex = "" return "0" else return hex
end function
https://github.com/belltown/
0 Kudos
GPF
Level 7

Re: Convert Int to Hex?

"MSGreg" wrote:
Easiest way, I think, is to go through a byte array.


Me too

BrightScript Debugger> ba = CreateObject("roByteArray"):ba.push(255):?ba.toHexString()
FF


Troy
0 Kudos
kenbrueck
Level 7

Re: Convert Int to Hex?

Great! Thanks for the answers AND for introducing me to libRokuDev!
0 Kudos
kartigas
Level 7

Re: Convert Int to Hex?

Function addOpacityToHexColor(color as String, opacity as float) as String
    opacityHex = StrI(Cint(opacity * 255), 16) ' Converting Float / Integer to Hex

    return "#" + color + opacityHex
End Function
 
0 Kudos