DEV Community

Discussion on: Did you know there are 4 and 8 digit hex codes (#11223344?) for colours? 🤯

abhinav1217 profile image
Abhinav Kulshreshtha

Great tip. But an issue to this approach is fractional values

(0.30*255).toString(16)  //  "4c.8"
(0.38*255).toString(16) //   "60.e66666666668"
Enter fullscreen mode Exit fullscreen mode

So I have to be careful when using this technique to setting up dynamic color values in something like generating css using js params.

Rounding up hexadecimal values is a tricky business....

valeriavg profile image

If you need a quick manual conversion - you can simply ignore everything what comes after ..

Or you can use:

Math.round(0.30*255).toString(16) // 4d, rounds up for >=.5
Math.floor(0.30*255).toString(16) // 4c, rounds down
Math.ceil(0.30*255).toString(16) // 4d, rounds up
Enter fullscreen mode Exit fullscreen mode