如何在js中将数字转换为十六进制字符串
how to convert number to hexa string in js
我想使用JS制作一个RGB到HEX转换器。为此,我执行了以下代码:
function convertToHex(){
var r=document.getElementById("R").value;
var g=document.getElementById("G").value;
var b=document.getElementById("B").value;
if(r>255 || g>255 || b>255){
document.getElementById("error").innerHTML='R ,G, B value can not be greater than 255';
}
else{
var rHex=r.toString(16);
var gHex=g.toString(16);
var bHex=b.toString(16);
var toHex=rHex+gHex+bHex;
document.getElementById("hexContainer").innerHTML=toHex;
}
}
,但它不工作。你能帮帮我吗?它只显示数字而不显示转换后的值。
当您从HTML中获取值时,您需要将字符串转换为数字,
你可以做
var r = Number(document.getElementById("R").value);
我测试了其余的代码,它们工作得很好。 您可以试试这种方法。
<body>
<input id="R" type="number">
<br>
<input id="G" type="number">
<br>
<input id="B" type="number">
<br>
<input id="btn" type="button" onclick="rgb2hex()" value="calculate">
<div id= "hexContainer"></div>
<div id="error"></div>
<script>
function rgb2hex() {
var r = document.getElementById("R").value
var g = document.getElementById("G").value
var b =document.getElementById("B").value
if (r> 255 || g> 255 || b> 255){
document.getElementById( "error" ).innerHTML= 'R ,G, B value can not be greater than 255' ;
document.getElementById( "hexContainer").innerHTML=""
}
else {
document.getElementById( "hexContainer").innerHTML= ("#"+dec2Hex(Math.round(r)) +""+ dec2Hex(Math.round(g)) +""+dec2Hex(Math.round(b)));
document.getElementById( "error").innerHTML=""
}
}
function dec2Hex(decimal) {
return ("0"+(Number(decimal).toString(16))).slice(-2).toUpperCase()
}
</script>
</body>
function convertToHex(){
var r=document.getElementById("R").value;
var g=document.getElementById("G").value;
var b=document.getElementById("B").value;
if(+r>255 || +g>255 || +b>255){
document.getElementById("error").innerHTML='R ,G, B value can not be greater than 255';
}
else{
var rHex=(+r).toString(16);
var gHex=(+g).toString(16);
var bHex=(+b).toString(16);
var toHex=rHex+gHex+bHex;
document.getElementById("hexContainer").innerHTML=toHex;
}
}
相关文章:
- 正在将unicode转换为十六进制
- 在js中将字符串转换为十六进制
- 将html代码转换为十六进制
- 将十六进制字符串转换为字节数组
- 将Hsl转换为rgb和十六进制
- 无需Javascript内置函数即可将十进制转换为十六进制
- 将hsv转换为十六进制的Javascript函数
- 如何在 JavaScript 中将 ASCII 转换为十六进制
- 将浮点数转换为 RGB 或十六进制
- 将带有转义字符和 ASCII 值的字符串转换为十六进制
- 转换颜色十六进制值以用于三个 JSON 文件.js
- 如何将负十进制转换为十六进制
- 递归“超出最大调用堆栈大小” - 十进制到十六进制转换器
- 如何在 JavaScript 中将字符串中不确定的 rgb 出现次数转换为十六进制
- 将数字转换为十六进制值,但使它们成为两位数
- 在 JavaScript 中将原始图像的十六进制字符串转换为位图图像
- 十六进制到 ascii 错误转换
- 将包含 ASCII 中二进制十六进制的字符串转换为缓冲区
- Javascript自动转换十六进制值
- 一次转换十六进制字符串2个字符