我正在使用Oracle APEX构建应用程序,而且我已经到了需要从颜色选择器组件生成的Hex值派生RGB值的阶段。
我试图寻找一些引用任何方法进行转换的文档,但我还没有运气。
有没有简单的方法可以做到这一点?
答案 0 :(得分:3)
要将十六进制值转换为数字,请使用带有相应格式字符串的to_number函数。对于十六进制,即' x'。
select to_number('AA','xx') from dual
170
现在,如果您的颜色选择器为红色,绿色和蓝色返回FFEEDD等值,则必须获取该值的各个部分并将其转换为数字。您可以使用子字符串。
substr('FFEEDD',1,2) -- red value
substr('FFEEDD',3,2) -- green value
substr('FFEEDD',5,2) -- blue value.
将这些值转换为数字。
select to_number(substr('FFEEDD',1,2),'xx') from dual
255
select to_number(substr('FFEEDD',3,2),'xx') from dual
238
select to_number(substr('FFEEDD',5,2),'xx') from dual
211
Put就是一个功能而你已经完成了。