Понятно - у вас есть шестнадцатеричное значение -
Попробуйте это:
Number('0x' + yourColorString.replace('#','') );
В нотации 0x указано шестнадцатеричное основание, поэтому при оценке оно преобразует шестнадцатеричное значение вчисловой.Да, вместо этого вы можете заменить #
на 0x
, но, делая это, это работает, даже если они не включают хеш.
Переходить другим путем также легко (от числа обратно к гексу):
String( '#' + yourNumericValue.toString(16) );