在本文中,我们将学习如何在JavaScript中轻松地将十进制数转换为十六进制数。我们将研究一些需要执行此操作的真实场景。NumbertoString()方法要在JavaScript中将十进制转换为十六进制,请对十进制调用toString()方法,将16作为基数参数传递,即num.toString(16)。toString()方法将返回数字的十六进制字符串表示形式。例如:constnum=60;consthex=num.toString(16);console.log(hex);//3c//直接调用toString()时使用括号consthex2=(60).toString(16);console.日志(十六进制2);//3cNumbertoString()方法返回数字的字符串表示形式。如果第一个参数指定了基数,则数字以该基数表示。我们传递16以使用基数16,这是十六进制基数。十六进制使用16个符号来表示数字:0到9表示值0到9a到f(A到F)表示值10到16。字母不区分大小写,所以3C2b和3c2B是完全一样的值.在数字文字上调用toString()如果直接在数字文字上调用toString(),请确保将其括在括号(())中或使用两个点(..beforetoString()://Useparenthesesconsthex2=(60).toString(16);console.log(hex2);//3c//使用双点consthex3=50..toString(16);console.log(hex3);//32如果你只使用一个不带括号的,JavaScript解析器会将其视为数字文字的一部分-小数点-而不是成员访问运算符。console.log(40.);//40console.log(20.);//20so发生错误是因为成员名称前没有成员访问运算符。//SyntaxErrorconsole.log(40.toString(16));//SyntaxErrorconsole.log(20.toString(16));因此,您将数字放在括号中,以便将它们之外的所有内容分别视为相同的数字。console.log((40).toString(16));//28console.log((20).toString(16));//14或者您添加第二个点,它将被视为成员访问运算符。控制台日志(40..toString(16));//28console.log(20..toString(16));//14用例:将RGB(A)转换为十六进制将十进制值转换为十进制十六进制值的一个常见用途是将RGB颜色代码转换为其等效的十六进制值。我们可以这么做:decToHex(r));consthexG=padToTwo(decToHex(g));consthexB=padToTwo(decToHex(b));返回`#${hexR}${hexG}${hexB}`;}console.log(rgbToHex(255,128,237));//#ff80edconsole.log(rgbToHex(195,151,151));//#c39797console.log(rgbToHex(16,16,16));//#0f0f0f我们创建了一个可重复使用的rgbToHex()函数,用于将RGB代码转换为它们的十六进制等价物。我们使用padToTwo()函数将十六进制代码填充为两位数,例如f->0f。将R、G、B的十进制值转换为十六进制表示后,我们将它们串接成一个以#字符为前缀的字符串,形成十六进制颜色代码。我们可以修改函数使其也接受RGBA值,其中A是指定颜色不透明度的百分比值(介于0和1之间)。A将是十六进制颜色代码的前两个字符,其值介于00(0或0%)和ff(255或100%)之间。functiondecToHex(dec){returndec.toString(16);}functionpadToTwo(str){returnstr.padStart(2);}functionrgbToHex(r,g,b,a){consthexR=padToTwo(decToHex(r));consthexG=padToTwo(decToHex(g));consthexB=padToTwo(decToHex(b));//如果未指定,则将“a”设置为1constaAbsolute=Math.圆((一个??1)*255);consthexA=padToTwo(decToHex(aAbsolute));返回`#${hexA}${hexR}${hexG}${hexB}`;}console.log(rgbToHex(255,128,237));//#ffff80edconsole.log(rgbToHex(195,151,151,0.5));//#80c39797console.log(rgbToHex(16,16,16,0.69));//#b0101010总结以上就是我今天分享给大家的全部内容,希望大家能从中学到新的东西,感谢阅读。
